office-gobmx/vcl
2012-02-13 16:08:52 +00:00
..
android Bin global_android_app and instead use lo-bootstrap API 2012-01-25 19:05:31 +02:00
aqua/source Prefer equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(...)) to equalsAscii(...) 2012-02-10 23:01:07 +09:00
generic Fix for fdo43460 Part LVII getLength() to isEmpty() 2012-01-31 19:58:51 -02:00
headless vcl: Remove unused GetSymbolKeyName 2012-01-28 11:07:11 +01:00
inc Remove unused code 2012-02-13 16:08:52 +00:00
ios/source vcl: Remove unused GetSymbolKeyName 2012-01-28 11:07:11 +01:00
null
prj
qa/complex
source Remove unused code 2012-02-13 16:08:52 +00:00
test finalize gcc 4.7 string literal operators 2012-01-24 10:21:13 +01:00
unx Duplicate #include 2012-02-13 10:59:34 +01:00
win/source Try to fix the MinGW build with a simple solution 2012-02-02 12:00:30 +01:00
workben make padmin ByteString free 2012-01-25 15:37:20 +00:00
AllLangResTarget_vcl.mk
Library_desktop_detector.mk fdo#39491 -I$(OUTDIR)/inc is set in SOLARINC 2012-02-10 21:41:45 +01:00
Library_vcl.mk fdo#39491 -I$(OUTDIR)/inc is set in SOLARINC 2012-02-10 21:41:45 +01:00
Library_vclplug_gen.mk fdo#39491 -I$(OUTDIR)/inc is set in SOLARINC 2012-02-10 21:41:45 +01:00
Library_vclplug_gtk.mk fdo#39491 -I$(OUTDIR)/inc is set in SOLARINC 2012-02-10 21:41:45 +01:00
Library_vclplug_gtk3.mk fdo#39491 -I$(OUTDIR)/inc is set in SOLARINC 2012-02-10 21:41:45 +01:00
Library_vclplug_kde.mk fdo#39491 -I$(OUTDIR)/inc is set in SOLARINC 2012-02-10 21:41:45 +01:00
Library_vclplug_kde4.mk fdo#39491 -I$(OUTDIR)/inc is set in SOLARINC 2012-02-10 21:41:45 +01:00
Library_vclplug_svp.mk fdo#39491 -I$(OUTDIR)/inc is set in SOLARINC 2012-02-10 21:41:45 +01:00
Makefile switch to include-based build rather than sourced-based build 2012-02-05 19:34:05 -06:00
Module_vcl.mk
Package_afmhash.mk
Package_inc.mk
Package_kde4moc.mk
Package_osx.mk
README Added (and improved) READMEs for modules which used to be in libs-gui 2012-02-08 07:46:57 +01:00
StaticLibrary_vclmain.mk fdo#39491 -I$(OUTDIR)/inc is set in SOLARINC 2012-02-10 21:41:45 +01:00
vcl.android.component
vcl.ios.component
vcl.macosx.component
vcl.unx.component
vcl.windows.component
WinResTarget_vcl.mk

Visual Components Library is responsible for the widgets (windowing, buttons, controls, 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.