From 4be664970bd1fddec7b97c2d9165f07bbbb52bcf Mon Sep 17 00:00:00 2001 From: graemeg Date: Thu, 12 Jul 2007 12:03:41 +0000 Subject: GFX: demonstrates how the EvXXX events could be made protected. --- gfx/x11/fpgfxpackage.pas | 2 +- gfx/x11/gfx_x11.pas | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'gfx/x11') diff --git a/gfx/x11/fpgfxpackage.pas b/gfx/x11/fpgfxpackage.pas index e3e60e76..f6e51e3b 100644 --- a/gfx/x11/fpgfxpackage.pas +++ b/gfx/x11/fpgfxpackage.pas @@ -7,7 +7,7 @@ unit fpgfxpackage; interface uses - GfxBase, GFX_X11, gfxinterface, schar16, unitkeys, fpgfx, GELImage, + GfxBase, GFX_X11, gfxinterface, schar16, unitkeys, fpgfx, GELDirty, GELImage, CommandLineParams, fpUTF8Utils; implementation diff --git a/gfx/x11/gfx_x11.pas b/gfx/x11/gfx_x11.pas index 8ee0aa5d..f438bf77 100644 --- a/gfx/x11/gfx_x11.pas +++ b/gfx/x11/gfx_x11.pas @@ -241,6 +241,9 @@ type procedure DoSetCursor; override; function GetHandle: PtrUInt; override; procedure UpdateMotifWMHints; + + { Event processing methods } + procedure EvPaint; override; public { Constructors / Destructors } constructor Create(AParent: TFCustomWindow; AWindowOptions: TFWindowOptions); override; @@ -269,7 +272,7 @@ type procedure EvMouseReleased(AButton: TMouseButton; const AMousePos: TPoint); override; procedure EvMouseMove(const AMousePos: TPoint); override; procedure EvMouseWheel(AWheelDelta: Single; const AMousePos: TPoint); override; - procedure EvPaint; override; +// procedure EvPaint; override; procedure EvMove; override; procedure EvResize; override; procedure EvShow; override; @@ -1011,7 +1014,7 @@ end; procedure TX11Application.Run; var XEvent: TXEvent; - WindowEntry: TFCustomWindow; + WindowEntry: TX11Window; MouseButton: TMouseButton; Sum: Integer; NewEvent: TXEvent; @@ -1041,7 +1044,7 @@ begin // According to a comment in X.h, the valid event types start with 2! if XEvent._type >= 2 then begin - WindowEntry := FindWindowByXID(XEvent.XAny.Window); + WindowEntry := TX11Window(FindWindowByXID(XEvent.XAny.Window)); if not Assigned(WindowEntry) then begin @@ -1049,7 +1052,7 @@ begin continue; end; - TX11Window(WindowEntry).FXEvent := @XEvent; + WindowEntry.FXEvent := @XEvent; case XEvent._type of X.DestroyNotify: -- cgit v1.2.3-70-g09d2