summaryrefslogtreecommitdiff
path: root/src/corelib/gdi
AgeCommit message (Collapse)Author
2014-01-24Fixes a spelling mistake in a code comment.Graeme Geldenhuys
Also removed trailing spaces from some lines.
2014-01-24GDI: Fixes mouse wheel scrolling bug on newer Windows versions.Graeme Geldenhuys
For some odd reason under Win7 only downward scrolling was working. This changes fixes it. Tested on Win2000 and Win7 systems.
2013-12-22Adds 2 new themes to the fpGUI framework.Graeme Geldenhuys
All are 'dark' themes, but with various looks and color variations. Thanks to Rochdi Abdelilah (aka ROCABDEL) for the fantastic contribution.
2013-12-08win32: package file file changes due to newer Lazarus IDE version.Graeme Geldenhuys
2013-12-08gdi: forgot to remove a debug writeln() statement.Graeme Geldenhuys
This caused a "file not open" error when pausing and resuming Windows VM's - thus the system time changes.
2013-10-31gdi: prevents an AV if applications have a non-standard startupGraeme Geldenhuys
I sometimes implement a "-h" help command line parameter to GUI and non-GUI applications. For GUI applications it pops up a dialog that displays help then quits before the main form displays. Without the change in this commit, the GUI applications will trigger an AV, because MainForm = nil in the code referenced in this commit.
2013-05-20bug: Under Windows the mouse coordinates in OnDragDrop was screen coordinates.Graeme Geldenhuys
I forgot to translate those to widget coordinates.
2013-05-01Adds much faster Canvas.CopyRect() implemenation for the GDI backend.Graeme Geldenhuys
2013-04-30debug: replaced debug writeln() statements with SendDebug() calls.Graeme Geldenhuys
Debugging with the debug server is much easier than looking at command line output.
2013-04-30Fixes a Windows 64-bit compile error relating to Windows.SetTimer()Graeme Geldenhuys
The TIMERPROC signature has changed between FPC 2.6.0 and 2.6.2. This minor changes now supports both compiler versions. I tested this under 32-bit and 64-bit FPC.
2013-04-29new debug interface unit for use with out Debug Server application.Graeme Geldenhuys
Added debug interface units to 'corelib' and to the fpgui_toolkit packages
2013-04-10Forgot to bump the version numbers of the fpgui_toolkit.lpk packages.Graeme Geldenhuys
2012-12-20AggPas Canvas can now render to the screen under Windows too.Graeme Geldenhuys
2012-11-22Fixes line ending issuesGraeme Geldenhuys
2012-11-13Implements WakeMainThread for Windows.Graeme Geldenhuys
Multi-threaded apps under Windows requires the main thread to be woken up periodically. We now simply hook into the Classes.WakeMainThread function which is automatically called by TThread.Synchronize. I did the same testing under X11, but it doesn't seem needed there. If we do find a case for this under X11, it is easy to implement.
2012-10-26Adds a System Tray Icon implementation for X11.Graeme Geldenhuys
This has been a long awaited feature. There is still some functionality missing and some more tweaks that need to be applied, but this implementation does work. It has been tested under JWM (Joe's Window Manager), MATE (Gnome2 fork) and KDE 4.8.x The Windows implementation will follow shortly.
2012-09-26gdi: oops, fixed code where I check the variable before I actually assign ↵Graeme Geldenhuys
something to it.
2012-09-21gdi: Corrected the implemenation of Canvas.GetPixel()Graeme Geldenhuys
We referenced the write device context. FGC is the temporary buffer used for double buffering. FWinGC is the actual DC of the window.
2012-09-21gdi: corrected the WinColorTofpgColor() implementation.Graeme Geldenhuys
2012-09-21gdi: re-ordered the code in a more logical way, to ease reading.Graeme Geldenhuys
2012-08-23gdi: The IDropSource signature has changed in FPC > 2.6.0Graeme Geldenhuys
Once the next stable FPC is released, then we can remove this again.
2012-08-09bugfix: gdi fullscreen - form was larger than screen dimensions.Graeme Geldenhuys
This went unnoticed for a very long time, Mhen a from was set to fullscreen, after it was already displayed (not at creation time), then the size of the form was slightly bigger that the screen resolution. I corrected the Win32 API calls, and now the form has the correct size at all times.
2012-08-01Updates te fpgui_toolkit.lpk (lazarus packages) with the reporting engine units.Graeme Geldenhuys
* I also updated the windows version of the package with some missing units.
2012-07-31TfpgGDIWindow.ActivateWindow now uses SetWindowPos instead of ↵Graeme Geldenhuys
SetForegroundWindow. The code and intent seems to be correct, but even though I set the flag SWP_NOZORDER (so the behaviour is consistent with Linux X11), Windows seems to ignore that flag and still bring the active window to the front.
2012-07-31Windows GDI BringToFront() behaviour is now consistent with Linux X11Graeme Geldenhuys
The window is brought to the front, but not activated.
2012-04-25gdi: minor changes to make sure fpGUI compiles under Win64Graeme Geldenhuys
2012-04-05gdi: fixes spelling mistake in code comment.Graeme Geldenhuys
2012-04-05gdi: Removed completed todo item comment.Graeme Geldenhuys
2012-03-19fixes compiler errors under Windows.Graeme Geldenhuys
Clearly I did not pay as much attension as I should have. :-(
2012-03-19updates search paths for AggPas in fpgui_toolkit.lpk packages.Graeme Geldenhuys
2012-03-19gdi: We will probably need access to HBitmap in the Agg Canvas.Graeme Geldenhuys
2012-02-29changed alias class definitions to class descendants.Graeme Geldenhuys
FPC doesn't have a problem with the original code, but other tools like fpdoc does. So to make everybody's life easier, I am making this change. The benefit now is that fpdoc will be able to generate a nice class hierarchy of fpGUI classes - without problems.
2012-02-21Adds PNG loading support.Graeme Geldenhuys
The unit uses the fcl-image backend to load the image. This is slightly slower than the native implementations for BMP and JPG. But at least now we have PNG support too.
2011-12-02version bump to 0.8Graeme Geldenhuys
2011-11-21TfpgWindowBase now introduces a BringToFront() method.Graeme Geldenhuys
2011-08-17GDI: Fixed the rubbish timer implementation.Graeme Geldenhuys
I was clearly smoking something that day! Anyway, the GDI timer is now correctly implemented, and doesn't push up the CPU load any more. No matter how long the timer runs for. The timer is much more accurate/consistent in firing as well. :-)
2011-08-17TfpgTimer refactoring.Graeme Geldenhuys
Refactored the TfpgTimer by introducing a TfpgBaseTimer and X11 & GDI Timer descendants. This now allows use to add platform specific extensions to the timer implementation.
2011-07-14GDI: minor change to IUnknown interface code for FPC 2.5.1 compatibilityGraeme Geldenhuys
2011-06-17gdi implementation of GetWindowStateGraeme Geldenhuys
Now we can retrieve the WindowState of TfpgForm under both Linux and Windows.
2011-05-19New component TfpgReadOnly added to fpGUI.Graeme Geldenhuys
This component allows you to set all components on a form or embedded containers as ReadOnly = True/False by just toggling one property on TfpgReadOnly.
2011-05-06Skeleton style units.Graeme Geldenhuys
These will later contain the various style implementations.
2011-03-08applied the missing setting for Lazarus IDE so package unit is not added to ↵Graeme Geldenhuys
a project uses clause.
2011-01-14GDI: OnDragDrop the Sender and Source parameters are now populated.Graeme Geldenhuys
Sender: the widget the mouse was over when drop occurs. Source: If whole DND is inside the same app, then Source is the original Widget the DND started from.
2011-01-14GDI: OnDragEnter now has Sender and Source parameters populatedGraeme Geldenhuys
Sender = widget the mouse entered and triggered the event Source = if the whole DND is inside the same app, then Source is the original Widget drag started from.
2011-01-11fixes Alignment and Anchor calculation even before we have a window handleGraeme Geldenhuys
Updated the following methods by rather checking the ComponentState, than the HasHandle result. Why? Because we want alignment and anchor calculations to work, even before we have a window handle. Something that happens often when using a Frame-type design for the UI. * HandleMove() * HandleResize() * UpdateWindowPosition() Due to removing the HasHandle check in UpdateWindowPosition, we had to do the HasHandle check in each backend code instead. We don't want to trigger API calls when we don't have a window handle yet.
2011-01-10DoWaitWindowMessage() defined as virtual abstract in fpg_baseGraeme Geldenhuys
* All fpGUI backends must override it as supply an implementation. * Moved DowaitWindowMessage() implementations to the protected section in the GDI and X11 backends.
2011-01-10DoMessagesPending() renamed to MessagesPending()Graeme Geldenhuys
Also made MessagesPending() a virtual abstract method in fpg_base.pas which every fpGUI backend must supply an implementation.
2010-11-15A new compiler define for debuging GDI key input messages.Graeme Geldenhuys
2010-11-11Bumped the version number so it's newer than the last release.Graeme Geldenhuys
2010-10-29Code cleanup by removing leftover writeln() statements.Graeme Geldenhuys