summaryrefslogtreecommitdiff
path: root/src/corelib/fpg_main.pas
AgeCommit message (Collapse)Author
2012-03-19copyright updateGraeme Geldenhuys
2012-03-16Adds an IFDEF to control what graphics engine to use Xlib/GDI or AggPas.Graeme Geldenhuys
Once Agg-enabled canvas is fully test, it will become the new default graphics engine.
2012-03-15Fixes the checking of named colors.Graeme Geldenhuys
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.
2012-03-15Factory method to create the Canvas instance used for every Window.Graeme Geldenhuys
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.
2012-03-15improved the signature of Canvas constructors.Graeme Geldenhuys
2012-03-15Canvas read-only LineWidth property changed to a function GetLineWidth()Graeme Geldenhuys
This is so AggPas's canvas doesn't conflict, which also has a LineWidth method. I want to prevent similar name confusion.
2012-03-09Adds a new property ScanLine[] to TfpgImage.Graeme Geldenhuys
2011-11-07Timer related functions now check to see if global fpgTimers exists or not.Graeme Geldenhuys
2011-11-07new overloaded DumpStack() can now output to a TStringListGraeme Geldenhuys
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.
2011-08-17TfpgCaret doesn't need it's timer enabled at creation.Graeme Geldenhuys
Now the internal blink timer only gets activating when a Canvas is assigned.
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-25parameter handling improvementsGraeme Geldenhuys
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.
2011-07-23wip stashGraeme Geldenhuys
2011-05-08Included Motif as one of the default registered styles in fpGUI.Graeme Geldenhuys
2011-05-08Corrected the button border sizes in the common style TfpgStyleGraeme Geldenhuys
2011-05-08added comments and fixed spelling mistakes in comments.Graeme Geldenhuys
2011-05-08globally renamed TFTextFlags to TfpgTextFlagsGraeme Geldenhuys
Somehow I forgot to rename this type when we introduced the 'fpg' prefix years ago.
2011-05-08globally renamed TFButtonFlags to TfpgButtonFlagsGraeme Geldenhuys
Somehow I forgot to rename that type name when we moved over to the 'fpg' prefix.
2011-05-06hook up the Style Manager.Graeme Geldenhuys
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.
2011-05-06make the Style Manager available in the fpg_main unit.Graeme Geldenhuys
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.
2011-05-06Just grouped the methods of TfpgStyle based on functionality and widgets.Graeme Geldenhuys
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. ;-)
2011-05-06Implemented a new style method that draws the EditBox background.Graeme Geldenhuys
This is a common style implementation - basically just paints the background a specific color. Nothing fancy.
2011-05-03Fixed a compiler warning. I forgot to set the function result.Graeme Geldenhuys
2011-05-03New style method introduced: TfpgStyle.GetButtonShiftGraeme Geldenhuys
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].
2011-05-03marked various methods with overload.Graeme Geldenhuys
I know in FPC mode objfpc it is not strictly needed, but lets keep to the Object Pascal language standards for now.
2011-05-03Introduced a new overloaded method TfpgStyle.DrawButtonFace()Graeme Geldenhuys
2011-02-07Default Font changes.Graeme Geldenhuys
* 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! :-/
2011-02-07Fix the URL of fpGUI's home page. We recently moved to SourceForge.Graeme Geldenhuys
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.
2011-01-06fpgCheckTimers is now a function.Graeme Geldenhuys
A boolean return value of True means that there are active timers.
2011-01-06new fpgPause() function.Graeme Geldenhuys
This function blocks the calling method, but allows for framework messages still to be processed. Could be useful for some developers.
2011-01-06Timers bugfix. Timers did not always work under Windows or Linux.Graeme Geldenhuys
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.
2011-01-03Minor code improvements.Graeme Geldenhuys
2011-01-03Moved FDefaultFont instantiation to a new location in code.Graeme Geldenhuys
2011-01-03new overloaded version of TfpgStyle.DrawControlFrame()Graeme Geldenhuys
2010-12-30Doubled the message queue size to handle lots more messages.Graeme Geldenhuys
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.
2010-11-30New theme function to paint MenuBar backgroundGraeme Geldenhuys
2010-11-12extension to TfpgStyle. functions to return widget border sizes.Graeme Geldenhuys
2010-11-12New debugging methodsGraeme Geldenhuys
Used internally, but could be used in developers own software too.
2010-11-11updated website url constantGraeme Geldenhuys
2010-11-08Menu's now invert the color the arrow for submenu's so they are visible when ↵Andrew Haines
highlighted
2010-10-29New Grid HeaderStyle property, and new Canvas/Style.DrawBevel() methodGraeme Geldenhuys
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.
2010-10-28Implemented equals (=) operator for TPoint typeGraeme Geldenhuys
2010-10-28TfpgDrag.Execute: replaced Assert() calls with Exceptions.Graeme Geldenhuys
This does error checking before and DND gets triggered. The error messages must still be replaced with resource strings though.
2010-10-28TfpgDrag.Execute now has a default TfpgDropAction drop action of daCopy.Graeme Geldenhuys
2010-10-21changed system color for all inactive color variables.Graeme Geldenhuys
This applies to: clInactiveSel, clUnset, clGridInactiveSel I wasn't fond of the purple / faded blue color from before.
2010-10-15Minor improvement in fpgCheckTimers procedure.Graeme Geldenhuys
2010-10-15fpgApplication.OnIdle was never triggered under Windows.Graeme Geldenhuys
2010-10-11fpgApplication.ProcessMessages now process other events (eg: timers) too.Graeme Geldenhuys
The DoMessagesPending() only processed OS events, now ProccessMessages processes all events like the real event loop does. This gives a more expected behaviour to developers that write blocking loops etc.
2010-10-11new method, Pause(), introduced to TfpgTimerGraeme Geldenhuys