unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, Lib, Login; type TMainForm = class(TForm) ImageLayout: TImage; ImageLibrary: TImage; ImageZoom: TImage; ImageSettings: TImage; ImageHigh: TImage; ImageNote: TImage; ImageFirst: TImage; ImagePrev: TImage; ImageNext: TImage; ImageLast: TImage; ImageView: TImage; procedure ImageSettingsClick(Sender: TObject); procedure ImageViewMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageLastMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageNextMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImagePrevMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageFirstMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageNoteMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageHighMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageSettingsMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageZoomMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageViewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageLastMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageNextMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImagePrevMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageFirstMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageNoteMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageHighMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageSettingsMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageZoomMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageViewMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageLastMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageNextMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImagePrevMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageFirstMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageNoteMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageHighMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageSettingsMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageZoomMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageLibraryMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure ImageLibraryMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure ImageLibraryMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var MainForm: TMainForm; intImageLibrary: Integer; intImageZoom: Integer; intImageSettings: Integer; intImageHigh: Integer; intImageNote: Integer; intImageFirst: Integer; intImagePrev: Integer; intImageNext: Integer; intImageLast: Integer; intImageView: Integer; currentButton: Integer; ImageLibrary1: TJPEGImage; ImageZoom1: TJPEGImage; ImageSettings1: TJPEGImage; ImageHigh1: TJPEGImage; ImageNote1: TJPEGImage; ImageFirst1: TJPEGImage; ImagePrev1: TJPEGImage; ImageNext1: TJPEGImage; ImageLast1: TJPEGImage; ImageView1: TJPEGImage; ImageLibrary2: TJPEGImage; ImageZoom2: TJPEGImage; ImageSettings2: TJPEGImage; ImageHigh2: TJPEGImage; ImageNote2: TJPEGImage; ImageFirst2: TJPEGImage; ImagePrev2: TJPEGImage; ImageNext2: TJPEGImage; ImageLast2: TJPEGImage; ImageView2: TJPEGImage; ImageLibrary3: TJPEGImage; ImageZoom3: TJPEGImage; ImageSettings3: TJPEGImage; ImageHigh3: TJPEGImage; ImageNote3: TJPEGImage; ImageFirst3: TJPEGImage; ImagePrev3: TJPEGImage; ImageNext3: TJPEGImage; ImageLast3: TJPEGImage; ImageView3: TJPEGImage; implementation //uses Lib, Login; {$R *.dfm} //=========================BUTTONS HANDLING function checkCircleClick(X,Y: Integer): Boolean; var midx: Integer; midy: Integer; r: Integer; begin midx:=28; midy:=29; r:=24; if Sqr(midx-X)+Sqr(midy-Y)<=Sqr(r) then Result := True else Result := False; end; //=========================GRAPHICS HANDLING procedure GraphicsFree(); begin ImageLibrary1.Free; ImageZoom1.Free; ImageSettings1.Free; ImageHigh1.Free; ImageNote1.Free; ImageFirst1.Free; ImagePrev1.Free; ImageNext1.Free; ImageLast1.Free; ImageView1.Free; ImageLibrary2.Free; ImageZoom2.Free; ImageSettings2.Free; ImageHigh2.Free; ImageNote2.Free; ImageFirst2.Free; ImagePrev2.Free; ImageNext2.Free; ImageLast2.Free; ImageView2.Free; ImageLibrary3.Free; ImageZoom3.Free; ImageSettings3.Free; ImageHigh3.Free; ImageNote3.Free; ImageFirst3.Free; ImagePrev3.Free; ImageNext3.Free; ImageLast3.Free; ImageView3.Free; end; function GraphicsLoad():Boolean; begin currentButton :=-1; ImageLibrary1 := TJPEGImage.Create; ImageZoom1 := TJPEGImage.Create; ImageSettings1 := TJPEGImage.Create; ImageHigh1 := TJPEGImage.Create; ImageNote1 := TJPEGImage.Create; ImageFirst1 := TJPEGImage.Create; ImagePrev1 := TJPEGImage.Create; ImageNext1 := TJPEGImage.Create; ImageLast1 := TJPEGImage.Create; ImageView1 := TJPEGImage.Create; ImageLibrary2 := TJPEGImage.Create; ImageZoom2 := TJPEGImage.Create; ImageSettings2 := TJPEGImage.Create; ImageHigh2 := TJPEGImage.Create; ImageNote2 := TJPEGImage.Create; ImageFirst2 := TJPEGImage.Create; ImagePrev2 := TJPEGImage.Create; ImageNext2 := TJPEGImage.Create; ImageLast2 := TJPEGImage.Create; ImageView2 := TJPEGImage.Create; ImageLibrary3 := TJPEGImage.Create; ImageZoom3 := TJPEGImage.Create; ImageSettings3 := TJPEGImage.Create; ImageHigh3 := TJPEGImage.Create; ImageNote3 := TJPEGImage.Create; ImageFirst3 := TJPEGImage.Create; ImagePrev3 := TJPEGImage.Create; ImageNext3 := TJPEGImage.Create; ImageLast3 := TJPEGImage.Create; ImageView3 := TJPEGImage.Create; intImageLibrary := 3; intImageZoom := 3; intImageSettings := 3; intImageHigh := 3; intImageNote := 3; intImageFirst := 3; intImagePrev := 3; intImageNext := 3; intImageLast := 3; intImageView := 3; try ImageLibrary1.LoadFromFile('gfx\main\main_active_04.jpg'); ImageZoom1.LoadFromFile('gfx\main\main_active_06.jpg'); ImageSettings1.LoadFromFile('gfx\main\main_active_07.jpg'); ImageHigh1.LoadFromFile('gfx\main\main_active_10.jpg'); ImageNote1.LoadFromFile('gfx\main\main_active_11.jpg'); ImageFirst1.LoadFromFile('gfx\main\main_active_15.jpg'); ImagePrev1.LoadFromFile('gfx\main\main_active_19.jpg'); ImageNext1.LoadFromFile('gfx\main\main_active_17.jpg'); ImageLast1.LoadFromFile('gfx\main\main_active_21.jpg'); ImageView1.LoadFromFile('gfx\main\main_active_25.jpg'); ImageLibrary2.LoadFromFile('gfx\main\main_hover_04.jpg'); ImageZoom2.LoadFromFile('gfx\main\main_hover_06.jpg'); ImageSettings2.LoadFromFile('gfx\main\main_hover_07.jpg'); ImageHigh2.LoadFromFile('gfx\main\main_hover_10.jpg'); ImageNote2.LoadFromFile('gfx\main\main_hover_11.jpg'); ImageFirst2.LoadFromFile('gfx\main\main_hover_15.jpg'); ImagePrev2.LoadFromFile('gfx\main\main_hover_19.jpg'); ImageNext2.LoadFromFile('gfx\main\main_hover_17.jpg'); ImageLast2.LoadFromFile('gfx\main\main_hover_21.jpg'); ImageView2.LoadFromFile('gfx\main\main_hover_25.jpg'); ImageLibrary3.LoadFromFile('gfx\main\main_norm_04.jpg'); ImageZoom3.LoadFromFile('gfx\main\main_norm_06.jpg'); ImageSettings3.LoadFromFile('gfx\main\main_norm_07.jpg'); ImageHigh3.LoadFromFile('gfx\main\main_norm_10.jpg'); ImageNote3.LoadFromFile('gfx\main\main_norm_11.jpg'); ImageFirst3.LoadFromFile('gfx\main\main_norm_15.jpg'); ImagePrev3.LoadFromFile('gfx\main\main_norm_19.jpg'); ImageNext3.LoadFromFile('gfx\main\main_norm_17.jpg'); ImageLast3.LoadFromFile('gfx\main\main_norm_21.jpg'); ImageView3.LoadFromFile('gfx\main\main_norm_25.jpg'); Result := True; except ShowMessage('Error in graphics module #1'); Result := False; end; end; //==========================WINDOW EVENTS procedure TMainForm.FormCreate(Sender: TObject); begin GraphicsLoad(); end; procedure TMainForm.FormDestroy(Sender: TObject); begin GraphicsFree(); end; //=================================MOUSE DOWN procedure TMainForm.ImageLibraryMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageLibrary :=1; ImageLibrary.Picture.Assign(ImageLibrary1); LibForm.Show(); end end; procedure TMainForm.ImageZoomMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageZoom :=1; ImageZoom.Picture.Assign(ImageZoom1); end end; procedure TMainForm.ImageSettingsMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageSettings :=1; ImageSettings.Picture.Assign(ImageSettings1); end end; procedure TMainForm.ImageHighMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageHigh :=1; ImageHigh.Picture.Assign(ImageHigh1); end end; procedure TMainForm.ImageNoteMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageNote :=1; ImageNote.Picture.Assign(ImageNote1); end end; procedure TMainForm.ImageFirstMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageFirst :=1; ImageFirst.Picture.Assign(ImageFirst1); end end; procedure TMainForm.ImagePrevMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImagePrev :=1; ImagePrev.Picture.Assign(ImagePrev1); end end; procedure TMainForm.ImageNextMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageNext :=1; ImageNext.Picture.Assign(ImageNext1); end end; procedure TMainForm.ImageLastMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageLast :=1; ImageLast.Picture.Assign(ImageLast1); end end; procedure TMainForm.ImageViewMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageView :=1; ImageView.Picture.Assign(ImageView1); end end; //===============================MOUSE MOVE procedure TMainForm.ImageLibraryMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>1 then begin intImageLibrary :=2; ImageLibrary.Picture.Assign(ImageLibrary2); currentButton := 1; end end else begin if currentButton <>-1 then begin intImageLibrary :=3; ImageLibrary.Picture.Assign(ImageLibrary3); currentButton := -1; end end end; procedure TMainForm.ImageZoomMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>2 then begin intImageZoom :=2; ImageZoom.Picture.Assign(ImageZoom2); currentButton := 2; end end else begin if currentButton <>-1 then begin intImageZoom :=3; ImageZoom.Picture.Assign(ImageZoom3); currentButton := -1; end end end; procedure TMainForm.ImageSettingsMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>3 then begin intImageSettings :=2; ImageSettings.Picture.Assign(ImageSettings2); currentButton := 3; end end else begin if currentButton <>-1 then begin intImageSettings :=3; ImageSettings.Picture.Assign(ImageSettings3); currentButton := -1; end end end; procedure TMainForm.ImageHighMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>4 then begin intImageHigh :=2; ImageHigh.Picture.Assign(ImageHigh2); currentButton := 4; end end else begin if currentButton <>-1 then begin intImageHigh :=3; ImageHigh.Picture.Assign(ImageHigh3); currentButton := -1; end end end; procedure TMainForm.ImageNoteMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>5 then begin intImageNote :=2; ImageNote.Picture.Assign(ImageNote2); currentButton := 5; end end else begin if currentButton <>-1 then begin intImageNote :=3; ImageNote.Picture.Assign(ImageNote3); currentButton := -1; end end end; procedure TMainForm.ImageFirstMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>6 then begin intImageFirst :=2; ImageFirst.Picture.Assign(ImageFirst2); currentButton := 6; end end else begin if currentButton <>-1 then begin intImageFirst :=3; ImageFirst.Picture.Assign(ImageFirst3); currentButton := -1; end end end; procedure TMainForm.ImagePrevMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>7 then begin intImagePrev :=2; ImagePrev.Picture.Assign(ImagePrev2); currentButton := 7; end end else begin if currentButton <>-1 then begin intImagePrev :=3; ImagePrev.Picture.Assign(ImagePrev3); currentButton := -1; end end end; procedure TMainForm.ImageNextMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>8 then begin intImageNext :=2; ImageNext.Picture.Assign(ImageNext2); currentButton := 8; end end else begin if currentButton <>-1 then begin intImageNext :=3; ImageNext.Picture.Assign(ImageNext3); currentButton := -1; end end end; procedure TMainForm.ImageLastMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>9 then begin intImageLast :=2; ImageLast.Picture.Assign(ImageLast2); currentButton := 9; end end else begin if currentButton <>-1 then begin intImageLast :=3; ImageLast.Picture.Assign(ImageLast3); currentButton := -1; end end end; procedure TMainForm.ImageViewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin if currentButton <>10 then begin intImageLast :=2; ImageView.Picture.Assign(ImageView2); currentButton := 10; end end else begin if currentButton <>-1 then begin intImageLast :=3; ImageView.Picture.Assign(ImageView3); currentButton := -1; end end end; //===============================MOUSE UP procedure TMainForm.ImageLibraryMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImageLibrary :=2; currentButton := 1; ImageLibrary.Picture.Assign(ImageLibrary2); end end; procedure TMainForm.ImageZoomMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin currentButton := 1; intImageZoom :=2; ImageZoom.Picture.Assign(ImageZoom2); end end; procedure TMainForm.ImageSettingsMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin currentButton := 1; intImageSettings :=2; ImageSettings.Picture.Assign(ImageSettings2); end end; procedure TMainForm.ImageHighMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin currentButton := 1; intImageHigh :=2; ImageHigh.Picture.Assign(ImageHigh2); end end; procedure TMainForm.ImageNoteMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin currentButton := 1; intImageNote :=2; ImageNote.Picture.Assign(ImageNote2); end end; procedure TMainForm.ImageFirstMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin currentButton := 1; intImageFirst :=2; ImageFirst.Picture.Assign(ImageFirst2); end end; procedure TMainForm.ImagePrevMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin intImagePrev :=2; currentButton := 1; ImagePrev.Picture.Assign(ImagePrev2); end end; procedure TMainForm.ImageNextMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin currentButton := 1; intImageNext :=2; ImageNext.Picture.Assign(ImageNext2); end end; procedure TMainForm.ImageLastMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin currentButton := 1; intImageLast :=2; ImageLast.Picture.Assign(ImageLast2); end end; procedure TMainForm.ImageViewMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if checkCircleClick(X,Y) then begin currentButton := 1; intImageLast :=2; ImageView.Picture.Assign(ImageView2); end end; procedure TMainForm.ImageSettingsClick(Sender: TObject); begin LoginForm.Top := LoginForm.Height; LoginForm.Left := LoginForm.Width; LoginForm.Show(); end; procedure resetButtons(); begin if intImageLibrary <> 1 then ImageLibrary.Picture.Assign(ImageLibrary2); end; end.