summaryrefslogtreecommitdiff
path: root/src/corelib/fpg_base.pas
AgeCommit message (Collapse)Author
2012-03-20CreateMaskFromSample() under Agg-enabled canvas uses Alpha channel to mask ↵Graeme Geldenhuys
image.
2012-03-19Bit shifting of Alpha channel was wrong in color conversion routinesGraeme Geldenhuys
Both RGBTripleTofpgColor() and FPColorTofpgColor() incorrectly bit shifted the Alpha channel value.
2012-03-19Removed deprecated TFPColor usage.Graeme Geldenhuys
2012-03-15Give FreeMem()a help hand regarding the allocated memory size.Graeme Geldenhuys
2012-03-15improved the signature of Canvas constructors.Graeme Geldenhuys
2012-03-15New overloaded fpgColor() that takes a Alpha parameter as well.Graeme Geldenhuys
2012-03-15Changed color channels from word to byte size.Graeme Geldenhuys
* 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.
2012-03-15Enable usage of Alpha channel when color type is created or converted.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 comment about internal data structure of TfpgImage data.Graeme Geldenhuys
2011-12-08New functions to return darker or lighter variations of a color.Graeme Geldenhuys
2011-11-29move declaration of TfpgEditBorderStyle so it is more accessible.Graeme Geldenhuys
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.
2011-11-21TfpgWindowBase now introduces a BringToFront() method.Graeme Geldenhuys
2011-10-26new handy function to covert individual R, G and B values into a TfpgColor ↵Graeme Geldenhuys
value.
2011-08-31updates KeycodeToText() to use the new resource string constants.Graeme Geldenhuys
2011-08-24Shift comes after Ctrl or AltGraeme Geldenhuys
In KeycodeToText(), 'Shift+' came before Ctrl or Alt. This is not normal practice, so I moved it.
2011-08-17Fixed KeycodeToText that overwrote the ShiftState of previous values.Graeme Geldenhuys
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-08-11changed string parameter to TfpgString typeGraeme Geldenhuys
2011-07-16added timestamp varibale to Mouse Parameter record structure.Graeme Geldenhuys
This is a placeholder for future use.
2011-06-17Introduced a new property TfpgWindowBase.WindowStateGraeme Geldenhuys
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.
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-01-12Fix stupid typo bug in HandleMove.Graeme Geldenhuys
We used FHeight instead of FLeft!! Dope!
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-12fpgApplication.CreateForm implementation has changed, but end result is the sameGraeme Geldenhuys
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).
2010-10-29Moved OnDragStartDetected from TfpgWidget to TfpgWindowBaseGraeme Geldenhuys
* also introduced virtual DoDragStartDetected which executes the OnDragStartDetected event * We also added a override of DoDragStartDetected in GDI for some extra tasks.
2010-10-29Renamed TfpgMimeDataStruct to TfpgMimeDataItemGraeme Geldenhuys
* 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.
2010-10-28TfpgWindowBase introduced a new abstract methodGraeme Geldenhuys
* This abstract method is called from TfpgWidget's AcceptDrops setter function * Template implementation in X11 * Actual implementation in GDI
2010-10-27Renamed TfpgWindowBase.DoEnabledDrops() to DoDNDEnabled()Graeme Geldenhuys
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
2010-10-01Set default property values for TfpgWindowBaseGraeme Geldenhuys
2010-09-23TfpgMimeDataBase: introduced a new raw Data property. Returns data as variantGraeme Geldenhuys
2010-09-23TfpgMimeDataBase: Fixed implementation of HTML property, and fixed ↵Graeme Geldenhuys
HasFormats() function
2010-09-23Two new MouseCursor shapes added. mcDrag & mcNoDropGraeme Geldenhuys
* X11 DND now changes the mouse cursor depending if a drop target is available or not
2010-09-23Oops, forgot to commit the TfpgDragBase class from earlier.Graeme Geldenhuys
2010-09-23two new classes introduced to manage data associated with mime types.Graeme Geldenhuys
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.
2010-09-23More well known drop actions added to TfpgDropActionGraeme Geldenhuys
2010-09-23Rename TfpgDragAction(s) to TfpgDropAction(s). A more correct description of ↵Graeme Geldenhuys
what they mean.
2010-09-23Renamed DND fpGUI message constants to keep with existing naming convention.Graeme Geldenhuys
2010-09-23New types and message constants for DND support.Graeme Geldenhuys
Also includes an abstract method that must be implemented by each backend to enabled DND for components or forms.
2010-09-21Two new types introduced: TfpgPoint and TfpgSizeGraeme Geldenhuys
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.
2010-09-21Removed compiler warnings.Graeme Geldenhuys
2010-09-20Moved GetClientRect() and GetBoundsRect() out of TfpgWidget into TfpgBaseWindowGraeme Geldenhuys
Now these functions are accessible to platform specific code too.
2010-09-04Replaced some RTL functions with fpGUI wrapper ones to handle Unicode text.Graeme Geldenhuys
2010-09-04Rearranged some constants and moved fpgAddColon() to fpg_utils unit.Graeme Geldenhuys
* Also added some new constants for future use.
2010-08-26GDI: Correctly implement clipboard support under Windows.Graeme Geldenhuys
This includes unicode text support.
2010-08-23Use fpGUI wrapper functions instead of RTL functions directly.Graeme Geldenhuys
fpGUI's wrapper functions handle unicode conversions from OS automatically.
2010-07-13PtInRect failed if point was on right or bottom border.Graeme Geldenhuys
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.
2010-07-05TfpgImageBase now remembers the co-ordinates used for the mask.Graeme Geldenhuys
This is handy when you want to do later image manipulation, and working on a cloned image.