office-gobmx/vcl
Tor Lillqvist 792181299b Fix KEY_SHIFT clash
Since 360d6bf4fd the precompiled header for vcl
includes <rsc/rsc-vcl-shared-types.hxx> , so the KEY_SHIFT from there
interfered with the KEY_SHIFT here.

These magic values apparently are the "known" return values from
MapVirtualKey() called to translate (fixed) virtual key codes to scan codes,
suitably shifted and ORed with some flag bit(s). Whether such scan code values
really are constant in all Windows installations I have no idea, it does sound
a bit scary to me to assume they are. (If they are, why does <windows.h> then
not provide symbolic names for them?)

Change-Id: Ic18a8e1a8b7a95bb6b018382662944f6912e4734
2013-04-25 14:43:30 +03:00
..
android Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
aqua/source remove unused component_canUnload functions 2013-04-19 16:52:03 +02:00
coretext
generic Fix glyph width calculation in HarfBuzz 2013-04-23 10:57:08 +00:00
headless Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
inc update pch 2013-04-25 12:11:53 +02:00
ios Add pan gesture handling 2013-04-19 00:18:33 +03:00
null
qa Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
quartz
source More places where we can suppress output. 2013-04-24 16:28:18 +02:00
test
uiconfig/ui
unx rhbz#954991 Avoid static data (causing trouble at exit) 2013-04-22 16:21:57 +02:00
win/source Fix KEY_SHIFT clash 2013-04-25 14:43:30 +03:00
workben
AllLangResTarget_vcl.mk gbuild: drop empty use_packages calls 2013-04-24 05:18:15 +00:00
CppunitTest_vcl_filters_test.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
CustomTarget_afm_hash.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
CustomTarget_kde4_moc.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
CustomTarget_kde_moc.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
CustomTarget_tde_moc.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
Executable_kdefilepicker.mk
Executable_tdefilepicker.mk
Executable_ui-previewer.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
Library_desktop_detector.mk
Library_vcl.mk vcl: rename WinResTarget target to match source file 2013-04-24 17:37:45 +02:00
Library_vclplug_gen.mk Add HarfBuzz support to the build system 2013-04-23 08:00:14 +00:00
Library_vclplug_gtk.mk move gtkframe to gtksalframe to match class name 2013-04-17 16:25:57 +02:00
Library_vclplug_gtk3.mk
Library_vclplug_kde.mk gbuild: drop empty use_packages calls 2013-04-24 05:18:15 +00:00
Library_vclplug_kde4.mk
Library_vclplug_svp.mk
Library_vclplug_tde.mk gbuild: drop empty use_packages calls 2013-04-24 05:18:15 +00:00
Makefile
Module_vcl.mk execute move of global headers 2013-04-23 22:20:31 +02:00
README
StaticLibrary_headless.mk gbuild: drop empty use_packages calls 2013-04-24 05:18:15 +00:00
StaticLibrary_vclmain.mk gbuild: drop empty use_packages calls 2013-04-24 05:18:15 +00:00
UIConfig_vcl.mk
vcl.android.component
vcl.headless.component
vcl.ios.component
vcl.macosx.component
vcl.unx.component
vcl.windows.component
WinResTarget_vcl.mk vcl: rename WinResTarget target to match source file 2013-04-24 17:37:45 +02:00
Zip_osxres.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00

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).

VCL provides a graphical toolkit similar to gtk+, Qt, SWING etc.

source/
	+ the main cross-platform chunk of source

inc/
	+ cross-platform abstraction headers
	vcl/
		+ public headers ("public" to the rest of LibreOffice, that is)

generic/
	+ shared helper code for *some* of the backends, actually built into vcl.

headless/
	+ a backend renderer that draws to bitmaps

android/
	+ Android backend (work in progress, does work to some extent)

aqua/
	+ OS X backend

ios/
	+ iOS backend (work in progres, does not work, needs re-think
	and re-write)

win/
	+ Windows backend

unx/
	+ X11 backend 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 X11 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.

Note: references to "SV" in the code mean StarView, which was a
portable C++ class library for GUIs, with very old roots, that was
developed by StarDivision. Nowadays it is not used by anything except
LibreOffice (and OpenOffice).