2 ms·
When it comes to the controls, etc it always wraps them, but the exposed API is based on VCL which has several Windows-isms and those Windows-isms are replicate
by badsectoracula 8y ago
When it comes to the controls, etc it always wraps them, but the exposed API is based on VCL which has several Windows-isms and those Windows-isms are replicated to other widgetsets. One example would be the reliance of several controls (like toolbars, lists, trees, etc) to image lists (which is basically a Windows Common Controls thing that is used in Delphi - Lazarus just keeps the API but reimplements those common controls). On a lower layer, LCL widgetsets implements several Windows API functions (often accessed via the LCLIntf unit or the widgetset itself as methods). As an example this file reimplements several of Windows API functions in Gtk2:
https://github.com/graemeg/lazarus/blob/upstream/lcl/interfaces/gtk2/gtk2winapi.inc https://github.com/graemeg/lazarus/blob/upstream/lcl/interfa...
Note that all widgetsets implement these methods, even the Win32 one (which instead of reimplementing it just forwards the calls to the real Windows API).