Changeset 31 for trunk/Forms
- Timestamp:
- Jan 4, 2017, 11:49:56 PM (8 years ago)
- Location:
- trunk/Forms
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormMain.lfm
r30 r31 5 5 Width = 920 6 6 Caption = 'LibrePaint' 7 ClientHeight = 6 157 ClientHeight = 608 8 8 ClientWidth = 920 9 9 Menu = MainMenu1 … … 13 13 OnDestroy = FormDestroy 14 14 OnShow = FormShow 15 LCLVersion = '1.6. 2.0'15 LCLVersion = '1.6.0.4' 16 16 object PaintBox1: TPaintBox 17 17 Left = 0 18 Height = 5 6118 Height = 554 19 19 Top = 26 20 20 Width = 920 … … 32 32 Left = 0 33 33 Height = 28 34 Top = 58 734 Top = 580 35 35 Width = 920 36 36 Panels = < … … 51 51 Top = 2 52 52 Action = Core.AFileNew 53 end 54 object ColorButton1: TColorButton 55 Left = 24 56 Height = 22 57 Top = 2 58 Width = 43 59 BorderWidth = 2 60 ButtonColorSize = 16 61 ButtonColor = clMaroon 62 end 63 object ToolButton2: TToolButton 64 Left = 67 65 Top = 2 66 Action = Core.AToolMove 67 end 68 object ToolButton3: TToolButton 69 Left = 90 70 Top = 2 71 Action = Core.AToolPen 53 72 end 54 73 end … … 82 101 object MenuItem2: TMenuItem 83 102 Action = Core.AExit 103 end 104 end 105 object MenuItem21: TMenuItem 106 Caption = 'Tool' 107 object MenuItem23: TMenuItem 108 Action = Core.AToolMove 109 end 110 object MenuItem22: TMenuItem 111 Action = Core.AToolPen 84 112 end 85 113 end -
trunk/Forms/UFormMain.pas
r30 r31 11 11 type 12 12 13 TImageTool = (itMoveView, itPen); 14 13 15 { TFormMain } 14 16 15 17 TFormMain = class(TForm) 18 ColorButton1: TColorButton; 16 19 LastOpenedList1: TLastOpenedList; 17 20 MainMenu1: TMainMenu; … … 26 29 MenuItem19: TMenuItem; 27 30 MenuItem20: TMenuItem; 31 MenuItem21: TMenuItem; 32 MenuItem22: TMenuItem; 33 MenuItem23: TMenuItem; 28 34 MenuItemRecentFiles: TMenuItem; 29 35 MenuItem15: TMenuItem; … … 42 48 ToolBar1: TToolBar; 43 49 ToolButton1: TToolButton; 50 ToolButton2: TToolButton; 51 ToolButton3: TToolButton; 44 52 procedure FormActivate(Sender: TObject); 45 53 procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); … … 66 74 StartMousePoint: TPoint; 67 75 StartViewPoint: TPoint; 68 Mo veActive: Boolean;76 MouseButtonDown: Boolean; 69 77 MousePos: TPoint; 70 78 Activated: Boolean; 71 79 procedure OpenRecentClick(Sender: TObject); 72 80 public 81 ImageTool: TImageTool; 73 82 procedure EraseBackground(DC: HDC); override; 74 83 procedure UpdateStatusBar; … … 82 91 83 92 uses 84 UCore ;93 UCore, UFGraphics; 85 94 86 95 {$R *.lfm} … … 184 193 procedure TFormMain.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton; 185 194 Shift: TShiftState; X, Y: Integer); 195 var 196 P: TPoint; 186 197 begin 187 198 if Button = mbLeft then begin 188 StartMousePoint := Point(X, Y); 189 StartViewPoint := Core.Project.View.SrcRect.TopLeft; 190 MoveActive := True; 199 if ImageTool = itMoveView then begin 200 StartMousePoint := Point(X, Y); 201 StartViewPoint := Core.Project.View.SrcRect.TopLeft; 202 end else 203 if ImageTool = itPen then begin 204 P := Core.Project.View.DestToSrcPos(Point(X, Y)); 205 if (P.X >= 0) and (P.X < Core.Project.Bitmap.Size.X) and (P.Y >= 0) and (P.Y < Core.Project.Bitmap.Size.Y) then 206 Core.Project.Bitmap.Pixels[P.X, P.Y] := TFColor.Create(Core.Project.Bitmap.ColorFormat, ColorButton1.ButtonColor); 207 Redraw; 208 end; 209 MouseButtonDown := True; 191 210 end; 192 211 end; … … 194 213 procedure TFormMain.PaintBox1MouseLeave(Sender: TObject); 195 214 begin 196 Mo veActive:= False;215 MouseButtonDown := False; 197 216 end; 198 217 199 218 procedure TFormMain.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X, 200 219 Y: Integer); 220 var 221 P: TPoint; 201 222 begin 202 223 MousePos := Point(X, Y); 203 if Assigned(Core.Project) then begin 204 if MoveActive then 205 with Core.Project do begin 224 if MouseButtonDown then 225 if Assigned(Core.Project) then 226 with Core.Project do begin 227 if Imagetool = itMoveView then begin 206 228 View.SrcRect := Bounds(Trunc(StartViewPoint.X + (StartMousePoint.X - X) / View.Zoom), 207 229 Trunc(StartViewPoint.Y + (StartMousePoint.Y - Y) / View.Zoom), … … 209 231 View.SrcRect.Bottom - View.SrcRect.Top); 210 232 Redraw; 233 end else 234 if ImageTool = itPen then begin 235 P := Core.Project.View.DestToSrcPos(Point(X, Y)); 236 if (P.X >= 0) and (P.X < Core.Project.Bitmap.Size.X) and (P.Y >= 0) and (P.Y < Core.Project.Bitmap.Size.Y) then 237 Core.Project.Bitmap.Pixels[P.X, P.Y] := TFColor.Create(Core.Project.Bitmap.ColorFormat, ColorButton1.ButtonColor); 238 Redraw; 211 239 end; 212 240 end; … … 217 245 Shift: TShiftState; X, Y: Integer); 218 246 begin 219 Mo veActive:= False;247 MouseButtonDown := False; 220 248 end; 221 249
Note:
See TracChangeset
for help on using the changeset viewer.