summaryrefslogtreecommitdiff
path: root/src/corelib
diff options
context:
space:
mode:
authorgraemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf>2007-08-21 09:06:52 +0000
committergraemeg <graemeg@ae50a9b5-8222-0410-bf8d-8a13f76226bf>2007-08-21 09:06:52 +0000
commit35d6da8fd2ecbd015634c7bf56659f1415fb9f10 (patch)
tree8477337f1b87dfd99bdd985072ac4c2bd611e3b3 /src/corelib
parentc13506c5af711ab050a1e3d78f815fb754ada299 (diff)
downloadfpGUI-35d6da8fd2ecbd015634c7bf56659f1415fb9f10.tar.xz
* GDI: Added missing units to GFX package.
* GDI: Finally fixed the implementation of modal window support.
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/gdi/fpgfx_package.lpk10
-rw-r--r--src/corelib/gdi/fpgfx_package.pas2
-rw-r--r--src/corelib/gdi/gfx_gdi.pas23
3 files changed, 25 insertions, 10 deletions
diff --git a/src/corelib/gdi/fpgfx_package.lpk b/src/corelib/gdi/fpgfx_package.lpk
index 2e5190a7..66963c07 100644
--- a/src/corelib/gdi/fpgfx_package.lpk
+++ b/src/corelib/gdi/fpgfx_package.lpk
@@ -26,7 +26,7 @@
<License Value="Modified LGPL
"/>
<Version Minor="5"/>
- <Files Count="11">
+ <Files Count="13">
<Item1>
<Filename Value="..\gfxbase.pas"/>
<UnitName Value="gfxbase"/>
@@ -71,6 +71,14 @@
<Filename Value="gfx_utils.pas"/>
<UnitName Value="gfx_utils"/>
</Item11>
+ <Item12>
+ <Filename Value="gfx_impl.pas"/>
+ <UnitName Value="gfx_impl"/>
+ </Item12>
+ <Item13>
+ <Filename Value="..\gfx_popupwindow.pas"/>
+ <UnitName Value="gfx_popupwindow"/>
+ </Item13>
</Files>
<RequiredPkgs Count="1">
<Item1>
diff --git a/src/corelib/gdi/fpgfx_package.pas b/src/corelib/gdi/fpgfx_package.pas
index e24f85b9..b171c972 100644
--- a/src/corelib/gdi/fpgfx_package.pas
+++ b/src/corelib/gdi/fpgfx_package.pas
@@ -9,7 +9,7 @@ interface
uses
gfxbase, fpgfx, gfx_gdi, gfx_stdimages, gfx_imgfmt_bmp, gfx_widget,
gfx_UTF8utils, gfx_extinterpolation, gfx_cmdlineparams, gfx_clipboard,
- gfx_utils;
+ gfx_utils, gfx_impl, gfx_popupwindow;
implementation
diff --git a/src/corelib/gdi/gfx_gdi.pas b/src/corelib/gdi/gfx_gdi.pas
index ed1f9e15..f14c26ac 100644
--- a/src/corelib/gdi/gfx_gdi.pas
+++ b/src/corelib/gdi/gfx_gdi.pas
@@ -524,7 +524,7 @@ begin
// {$IFDEF DEBUG} writeln('Mouse Move or Button Click'); {$ENDIF}
msgp.mouse.x := smallint(lParam and $FFFF);
msgp.mouse.y := smallint((lParam and $FFFF0000) shr 16);
-(*
+
if (wapplication.TopModalForm <> nil) then
begin
mw := nil;
@@ -532,24 +532,31 @@ begin
if (mw <> nil) and (wapplication.TopModalForm <> mw) then
blockmsg := True;
end;
-*)
-// Writeln('blockmsg ', blockmsg);
+
if not blockmsg then
begin
// writeln(' we are continueing the event processing...');
case uMsg of
WM_MOUSEMOVE:
- mcode := FPGM_MOUSEMOVE;
+ mcode := FPGM_MOUSEMOVE;
WM_LBUTTONDOWN,
WM_RBUTTONDOWN:
- mcode := FPGM_MOUSEDOWN;
+ begin
+ mcode := FPGM_MOUSEDOWN;
+ // if PopupListFirst = nil then
+ SetCapture(w.WinHandle);
+ end;
WM_LBUTTONUP,
WM_RBUTTONUP:
- mcode := FPGM_MOUSEUP;
+ begin
+ mcode := FPGM_MOUSEUP;
+ // if PopupListFirst = nil then
+ ReleaseCapture();
+ end;
WM_LBUTTONDBLCLK:
- mcode := FPGM_DOUBLECLICK;
+ mcode := FPGM_DOUBLECLICK;
else
- mcode := 0;
+ mcode := 0;
end;
case uMsg of