Age | Commit message (Collapse) | Author |
|
image.
|
|
Both RGBTripleTofpgColor() and FPColorTofpgColor() incorrectly
bit shifted the Alpha channel value.
|
|
|
|
|
|
|
|
|
|
* 8 bit color channels are the norm in all gui toolkits.
* Deprecated the usage of TFPColor. TFPColor comes from the FPC
fpcanvas unit, which I do not plan to use any more.
|
|
|
|
This is so AggPas's canvas doesn't conflict, which also has a LineWidth
method. I want to prevent similar name confusion.
|
|
|
|
|
|
This now makes it easier to reuse this border style declaration in other
widgets. We need to refactor some other widgets too, that have there own
border styles as well.
|
|
|
|
value.
|
|
|
|
In KeycodeToText(), 'Shift+' came before Ctrl or Alt. This is not normal
practice, so I moved it.
|
|
|
|
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.
|
|
|
|
This is a placeholder for future use.
|
|
This is an initial implementation for Linux only. Currently this property
is read-only, but that alone is already very useful. Next I'll implement
the Windows support, and later the read-write support.
|
|
* Linux now defaults to 'Liberation Sans' which comes standard
with most Linux distros, and is metric compatible with Arial.
The latter is freely available, but doesn't come standard
with any Linux disto.
* Windows default font size is now 8 (down from previous 10),
which is now the same as the remainder of Windows apps.
Strange that the same font as size (eg: Arial-10) is different
sizes in pixels under Linux and Windows. Weird! :-/
|
|
We used FHeight instead of FLeft!! Dope!
|
|
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.
|
|
* All fpGUI backends must override it as supply an implementation.
* Moved DowaitWindowMessage() implementations to the protected
section in the GDI and X11 backends.
|
|
Also made MessagesPending() a virtual abstract method in fpg_base.pas
which every fpGUI backend must supply an implementation.
|
|
Apparently it is good to allocate a instance, without
calling the constructor. I'm not exactly sure why, but it also
makes supporting FPC 2.5.1 a lot less messy (no casting required).
|
|
* also introduced virtual DoDragStartDetected which executes
the OnDragStartDetected event
* We also added a override of DoDragStartDetected in GDI for
some extra tasks.
|
|
* Also changed FormatCount to Count (more like standard list interface)
* Also introduced a Items property (more like standard list interface)
* The above to changes also made other implementations more
simplified, so I did a bit of refactoring.
|
|
* This abstract method is called from TfpgWidget's AcceptDrops setter function
* Template implementation in X11
* Actual implementation in GDI
|
|
This will hopefully reduce the confusion between the other
TfpgWidget.AcceptDrops property - they had too similar names.
* Applied rename changes to all other descendants too
* Updated DND demo project
|
|
|
|
|
|
HasFormats() function
|
|
* X11 DND now changes the mouse cursor depending if a drop target is
available or not
|
|
|
|
TfpgMimeDataBase is a base class for data associated with mime types.
TfpgMimeDataStruct is a simple data class. Currently I'm not sure if
Variants are the way to go for storing data, so this might change in the
future.
|
|
|
|
what they mean.
|
|
|
|
Also includes an abstract method that must be implemented by each backend
to enabled DND for components or forms.
|
|
The are of type "object" for static allocation, and includes easy initialization
methods, and TfpgPoint introduces ManhattanLength (easy and quick way to
determine distance between two points). See the class documentation for
more information on ManhattanLength.
|
|
|
|
Now these functions are accessible to platform specific code too.
|
|
|
|
* Also added some new constants for future use.
|
|
This includes unicode text support.
|
|
fpGUI's wrapper functions handle unicode conversions from OS automatically.
|
|
This fixes the Button Click bug where if you clicked on the button
right or bottom border, the button press state was shown, but the
Click never occured.
|
|
This is handy when you want to do later image manipulation, and
working on a cloned image.
|