office-gobmx/vcl
Tor Lillqvist 07c1b61933 Small refactoring of the Android "desktop app" code, no functional change
Move the native methods out to a separate AppSupport class so that they aren't
in our "experimenal" Desktop app's namespace. Don't hardcode the name of that
class in the native code, but have the app register the class to which the
damage callbacks should be done.

Possibly the AppSupport and Bootstrap classes should be combined. Later.

Also, the "android" part of the package name is superfluous; it is
Android-specific code, no information gained by having an "android" part in
the package name.

Change-Id: Iddf55c8034ead7693887ace8438deb002c5eea9f
2013-04-19 18:50:36 +03:00
..
android Small refactoring of the Android "desktop app" code, no functional change 2013-04-19 18:50:36 +03:00
aqua/source remove unused component_canUnload functions 2013-04-19 16:52:03 +02:00
coretext Turn off subpixel positioning for now 2013-04-12 02:24:45 +03:00
generic Related: rhbz#761009 lp#766153 lp#892904 HandleFontOptions crash 2013-04-18 13:25:16 +01:00
headless mass removal of rtl:: prefixes for O(U)String* 2013-04-07 14:23:11 +02:00
inc Make Application::PostZoomEvent() and PostScrollEvent() non-DESKTOP only 2013-04-19 14:06:11 +03:00
ios Add pan gesture handling 2013-04-19 00:18:33 +03:00
null mass removal of rtl:: prefixes for O(U)String* 2013-04-07 14:23:11 +02:00
qa fdo#60724 correct spelling 2013-04-15 05:10:29 +02:00
quartz Log a null CGRect as "NULL" 2013-04-11 19:14:38 +03:00
source Make Application::PostZoomEvent() and PostScrollEvent() non-DESKTOP only 2013-04-19 14:06:11 +03:00
test fdo#60724 correct spelling 2013-04-15 05:39:31 +02:00
uiconfig/ui
unx lp#1085169: we overactivate here, as it does not seem to hurt 2013-04-19 11:17:37 +02:00
win/source MSC needs those min/max macros after all 2013-04-17 14:54:06 +02:00
workben mass removal of rtl:: prefixes for O(U)String* 2013-04-07 14:23:11 +02:00
AllLangResTarget_vcl.mk
CppunitTest_vcl_filters_test.mk
CustomTarget_afm_hash.mk
CustomTarget_kde4_moc.mk
CustomTarget_kde_moc.mk
CustomTarget_tde_moc.mk
Executable_kdefilepicker.mk
Executable_tdefilepicker.mk
Executable_ui-previewer.mk
Library_desktop_detector.mk
Library_vcl.mk rename expat external to 'expat' 2013-04-09 09:46:38 +02:00
Library_vclplug_gen.mk vcl: conditionally link to jvmaccess 2013-04-11 07:41:30 +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 vcl: conditionally link to jvmaccess 2013-04-11 07:41:30 +00:00
Library_vclplug_kde.mk vcl: conditionally link to jvmaccess 2013-04-11 07:41:30 +00:00
Library_vclplug_kde4.mk vcl: conditionally link to jvmaccess 2013-04-11 07:41:30 +00:00
Library_vclplug_svp.mk vcl: conditionally link to jvmaccess 2013-04-11 07:41:30 +00:00
Library_vclplug_tde.mk vcl: conditionally link to jvmaccess 2013-04-11 07:41:30 +00:00
Makefile
Module_vcl.mk rename UI to UIConfig 2013-04-11 03:37:30 +00:00
Package_inc.mk
README more code overview documentation. 2013-04-08 14:06:32 +01:00
StaticLibrary_headless.mk
StaticLibrary_vclmain.mk
UIConfig_vcl.mk rename UI to UIConfig 2013-04-11 03:37:30 +00: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).

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