office-gobmx/vcl
Tor Lillqvist 4671e25d99 No need for BITNESS_OVERRIDE in makefilery as CPU etc work fine
Change-Id: I59f4d5ad275af62c997723908754112c062a31be
2012-09-29 08:16:31 +03:00
..
android
aqua/source
generic
headless
inc sort child positions within parents according to grid position 2012-09-28 08:48:54 +01:00
ios/source
null
prj
qa Implement a VclExpander equivalent of GtkExpander 2012-09-28 08:48:37 +01:00
source fix up merge 2012-09-28 08:48:55 +01:00
test
uiconfig/ui set the default button on various dialogs 2012-09-28 08:48:52 +01:00
unx
win/source
workben
AllLangResTarget_vcl.mk
CustomTarget_afm_hash.mk
CustomTarget_kde4_moc.mk
CustomTarget_kde_moc.mk
CustomTarget_tde_moc.mk
Executable_kdefilepicker.mk gbuild: invert handling of standard system libraries: 2012-09-28 16:49:08 +02:00
Executable_tdefilepicker.mk gbuild: invert handling of standard system libraries: 2012-09-28 16:49:08 +02:00
Executable_ui-previewer.mk vcl: remove gb_STDLIBS that crept in today 2012-09-28 16:53:11 +02:00
Library_desktop_detector.mk gbuild: invert handling of standard system libraries: 2012-09-28 16:49:08 +02:00
Library_vcl.mk No need for BITNESS_OVERRIDE in makefilery as CPU etc work fine 2012-09-29 08:16:31 +03:00
Library_vclplug_gen.mk gbuild: invert handling of standard system libraries: 2012-09-28 16:49:08 +02:00
Library_vclplug_gtk.mk gbuild: invert handling of standard system libraries: 2012-09-28 16:49:08 +02:00
Library_vclplug_gtk3.mk vcl: fix gtk3 build breakage due to forgotten use_libraries 2012-09-28 21:39:12 +02:00
Library_vclplug_kde.mk gbuild: invert handling of standard system libraries: 2012-09-28 16:49:08 +02:00
Library_vclplug_kde4.mk gbuild: invert handling of standard system libraries: 2012-09-28 16:49:08 +02:00
Library_vclplug_svp.mk gbuild: invert handling of standard system libraries: 2012-09-28 16:49:08 +02:00
Library_vclplug_tde.mk vcl: fix gtk3 build breakage due to forgotten use_libraries 2012-09-28 21:39:12 +02:00
Makefile
Module_vcl.mk convert writer, draw, impress, calc and starmath printer dialogs 2012-09-28 08:48:44 +01:00
Package_inc.mk
README
StaticLibrary_headless.mk
StaticLibrary_vclmain.mk
UI_vcl.mk convert writer, draw, impress, calc and starmath printer dialogs 2012-09-28 08:48:44 +01:00
vcl.android.component
vcl.headless.component
vcl.ios.component
vcl.macosx.component
vcl.unx.component
vcl.windows.component
WinResTarget_vcl.mk
Zip_osxres.mk

Visual Components Library is responsible for the widgets (windowing, buttons, controls, file-pickers etc.) operating system abstraction, including basic rendering (e.g. the output device).

Welcome to the Visual Class Libraries (vcl) code

source/
	+ the main cross-platform chunk of source
inc/
	+ cross-platform abstraction headers / definition
	vcl/
		+ external headers
generic/
	+ shared helper code for backends,
	  actually built into vcl
headless/
	+ a backend renderer that draws to bitmaps
aqua/
	+ OS/X backend
ios/
	+ skeleton Android backend
win/
	+ windows backend
unx/
	+ unix specific platform backend code and its' sub-platforms
	plugadapt/
		+ pluggable framework to select correct unx backend
	gtk/
		+ gtk2 support
	gtk3/
		+ gtk3.2+ support
	kde/
		+ kde3 support
	kde4/
		+ kde4 support
	generic/
		+ raw X support


How the platform abstraction works

	+ InitVCL calls 'CreateSalInstance'
		+ ths is implemented by the compiled-in platform backend
		+ it stores various bits of global state in the
		  'SalData' (inc/saldatabasic.hxx) structure but:
	+ the SalInstance vtable is the primary outward facing gateway
	  API for platform backends
		+ It is a factory for:
		  SalFrames, SalVirtualDevices, SalPrinters,
		  Timers, the SolarMutexe, Drag&Drop and other
		  objects, as well as the primary event loop wrapper.