Age | Commit message (Collapse) | Author |
|
|
|
Canvas.DrawControlFrame() simply passed it along to fpgStyle for a long
time already. Now we finally separate the two, so the Styling code can
be separated from the corelib code.
|
|
This makes testing a bit easier on all platforms.
|
|
Before we only had the mouse hover effect on Flat buttons. But now the
Style can enable hover support for normal buttons too. Important for
Win7 and MacOSX like themes.
|
|
We already done this for all the predefined colors, but somehow forgot about these.
|
|
|
|
|
|
|
|
Once Agg-enabled canvas is fully test, it will become the new
default graphics engine.
|
|
Now that we use the Alpha channel in TfpgColor and TRGBTriple, we
need to improve the algorithm to check if a color is a named color.
|
|
It is now possible for a developer to create a descendant
TfpgCanvas class, and override the DefaultCanvasClass variable to
rather use this new class for all Windows. A nice way to extend
the Canvas capability for your own applications - without modify
the fpGUI library code.
|
|
|
|
This is so AggPas's canvas doesn't conflict, which also has a LineWidth
method. I want to prevent similar name confusion.
|
|
|
|
|
|
It wasn't always desireable for DumpStack to output to the console, because
it doesn't always exist, and the user will normally not see it if app is
launched from a icon.
We can now output that info to a stringlist, and display it to the end-user
in whatever way we want.
|
|
Now the internal blink timer only gets activating when a Canvas is assigned.
|
|
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.
|
|
Old behaviour was that we simply assumed the first parameter will be
the X11 -display parameter. This is just WRONG!
We now query the parameter list for the value of -display, that's if it
exists in the first place.
|
|
|
|
|
|
|
|
|
|
Somehow I forgot to rename this type when we introduced the 'fpg' prefix years ago.
|
|
Somehow I forgot to rename that type name when we moved over to the 'fpg' prefix.
|
|
The fpgStyle global variable is now simply a reference to the current style
in the fpgStyleManager. The Style Manager does the free'ing of the style
too, so we simply need to tell the style manager when we want that done.
|
|
This is a bit of a cross-linking case, jumping from corelib code to gui code,
but I can't see how this can be done any other way. After all, fpGUI is a
GUI toolkit - not a non-gui utility library.
For some strange reason the 'Win2000' and 'auto' did not register automatically,
even though they are in the *.lpk package and in the initialization section.
So I had to add that style unit to the uses clause. I need to investigate
why this had to be done.
|
|
This is basically just some code formatting changes, making it easier for
a developer to see what style methods related to what widgets - that's if
the method names was not obvious enough. ;-)
|
|
This is a common style implementation - basically just paints the background
a specific color. Nothing fancy.
|
|
|
|
This allows a style to define by how much the button image and text must
shift (if at all) when the button is pressed. Possitive numbers moves right
and down. Negative numbers move up and left. Zero values means the icon and
text doesn't move [like under Mac OS X].
|
|
I know in FPC mode objfpc it is not strictly needed, but lets keep to the
Object Pascal language standards for now.
|
|
|
|
* 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! :-/
|
|
|
|
Also made MessagesPending() a virtual abstract method in fpg_base.pas
which every fpGUI backend must supply an implementation.
|
|
A boolean return value of True means that there are active timers.
|
|
This function blocks the calling method, but allows for framework
messages still to be processed. Could be useful for some developers.
|
|
Windows uses OS messages for the timer, and Linux not. So the
DoMessagePending code had to be tweaked to work for both.
I made a note of this, to see if there is a better way of doing this.
|
|
|
|
|
|
|
|
eg: When you resize continuously for a few seconds to test widget anchor
processing, it was possible to reach the message queue limit. After this change,
that is not so likely any more.
|
|
|
|
|
|
Used internally, but could be used in developers own software
too.
|
|
|
|
highlighted
|
|
Grid.HeaderStyle has Button, Thin and Flat options
New DrawBevel can draw a bevel raised or lowered using standard system
colors. Quite similar to TfpgBevel.
New DrawBevel() method and new Grid.HeaderStyle option.
|
|
|