23#include <config_version.h>
35#include <LibreOfficeKit/LibreOfficeKitTypes.h>
38#include <com/sun/star/lang/XComponent.hpp>
39#include <com/sun/star/i18n/XCharacterClassification.hpp>
48#include <unordered_map>
63 class DirectFontSubstitution;
64 class PhysicalFontCollection;
99class VclEventListeners2;
104#define SV_ICON_ID_OFFICE 1
105#define SV_ICON_ID_TEXT 2
106#define SV_ICON_ID_TEXT_TEMPLATE 3
107#define SV_ICON_ID_SPREADSHEET 4
108#define SV_ICON_ID_SPREADSHEET_TEMPLATE 5
109#define SV_ICON_ID_DRAWING 6
110#define SV_ICON_ID_PRESENTATION 8
111#define SV_ICON_ID_MASTER_DOCUMENT 10
112#define SV_ICON_ID_TEMPLATE 11
113#define SV_ICON_ID_DATABASE 12
114#define SV_ICON_ID_FORMULA 13
120 class DisplayConnectionDispatch;
121 class SettingsConfigItem;
122 class DeleteOnDeinitBase;
128 class SystemDependentDataManager;
147 std::vector<Link<VclWindowEvent&,bool> >
199 std::size_t seed = 0;
420 css::uno::Reference<css::datatransfer::clipboard::XClipboard> m_xSystemClipboard;
431 void dumpState(rtl::OStringBuffer &rState);
434css::uno::Reference<css::i18n::XCharacterClassification>
const&
ImplGetCharClass();
454bool ImplInitAccessBridge();
Base class used mainly for the LibreOffice Desktop class.
An auto-timer is a multi-shot timer re-emitting itself at interval until destroyed or stopped.
A tooltip: adds tips to widgets in a floating / popup window.
An idle is a timer to be scheduled immediately.
virtual void ConfigurationChanged(utl::ConfigurationBroadcaster *, ConfigurationHints) override
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
A SalFrame is a system window (e.g. an X11 window).
DirectFontSubstitution is for Tools->Options->FontReplacement and PsPrinter substitutions The class i...
constexpr ::Color COL_BLACK(0x00, 0x00, 0x00)
constexpr ::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
#define VCL_PLUGIN_PUBLIC
std::unique_ptr< sal_Int32[]> pData
std::enable_if_t<(sizeof(N)==4)> hash_combine(N &nSeed, T const *pValue, size_t nCount)
A PhysicalFontFaceCollection is created by a PhysicalFontCollection and becomes invalid when original...
Color m_aLastColorTopLeft
Color m_aLastColorBottomRight
Color m_aLastColorTopRight
Color m_aLastColorBottomLeft
SystemWindowFlags mnSysWinMode
VclPtr< ImplWheelWindow > mpWheelWindow
std::optional< OUString > mxDisplayName
std::vector< Link< VclWindowEvent &, bool > > maKeyListeners
sal_uInt16 mnDispatchLevel
std::vector< ImplPostEventPair > maPostedEventList
sal_uInt64 mnLastInputTime
std::optional< OUString > mxAppFileName
std::optional< AllSettings > mxSettings
std::optional< OUString > mxToolkitName
DialogCancelMode meDialogCancel
VclEventListeners maEventListeners
VclPtr< PopupMenu > mpActivePopupMenu
LocaleConfigurationListener * mpCfgListener
std::optional< OUString > mxAppName
ImplAccelManager * mpAccelMgr
DECL_STATIC_LINK(ImplSVAppData, ImplQuitMsg, void *, void)
ImplTBDragMgr * mpTBDragMgr
std::vector< Image > maCheckImgList
std::optional< Image > moDisclosureMinus
FieldUnitStringList maCleanUnitStrings
std::optional< Image > moDisclosurePlus
FieldUnitStringList maFieldUnitStrings
std::vector< Image > maRadioImgList
ImplSVCtrlData maCtrlData
ImplSchedulerContext maSchedCtx
css::uno::Reference< css::i18n::XCharacterClassification > m_xCharClass
ImplSVFrameData maFrameData
oslThreadIdentifier mnMainThreadId
UnoWrapperBase * mpUnoWrapper
LibreOfficeKitPollCallback mpPollCallback
std::unique_ptr< DockingManager > mpDockingManager
rtl::Reference< vcl::DisplayConnectionDispatch > mxDisplayConnection
std::vector< vcl::DeleteOnDeinitBase * > maDeinitDeleteList
std::unique_ptr< BlendFrameCache > mpBlendFrameCache
ImplSVHelpData * mpHelpData
Link< LinkParamNone *, void > maDeInitHook
css::uno::Reference< css::lang::XComponent > mxAccessBridge
VclPtr< WorkWindow > mpDefaultWin
ImplSVWinData * mpWinData
void dumpState(rtl::OStringBuffer &rState)
std::unique_ptr< SalSystem > mpSalSystem
LibreOfficeKitWakeCallback mpWakeCallback
std::unique_ptr< vcl::SettingsConfigItem > mpSettingsConfigItem
std::unordered_map< int, OUString > maPaperNames
VclPtr< vcl::Window > mpIntroWindow
VclPtr< vcl::Window > mpWindow
VclPtr< vcl::Window > mpInstanceRef
Link< void *, void > maLink
VclPtr< WorkWindow > mpAppWin
std::unique_ptr< UITestLogger > m_pUITestLogger
VclPtr< vcl::Window > mpFirstFrame
VclPtr< vcl::Window > mpActiveApplicationFrame
o3tl::lru_map< OUString, BitmapEx > maThemeImageCache
VclPtr< vcl::WindowOutputDevice > mpLastWinGraphics
VclPtr< OutputDevice > mpLastVirGraphics
OpenGLContext * mpLastContext
VclPtr< Printer > mpFirstPrnGraphics
std::unique_ptr< ImplPrnQueueList > mpPrinterQueueList
lru_scale_cache maScaleCache
std::shared_ptr< vcl::font::PhysicalFontCollection > mxScreenFontList
o3tl::lru_map< OUString, gfx::DrawRoot > maThemeDrawCommandsCache
VclPtr< Printer > mpFirstPrinter
std::shared_ptr< ImplFontCache > mxScreenFontCache
std::unique_ptr< GraphicConverter > mxGrfConverter
VclPtr< VirtualDevice > mpFirstVirDev
VclPtr< OutputDevice > mpFirstVirGraphics
vcl::font::DirectFontSubstitution * mpDirectFontSubst
VclPtr< vcl::WindowOutputDevice > mpFirstWinGraphics
VclPtr< Printer > mpLastPrnGraphics
VclPtr< HelpTextWindow > mpHelpWin
sal_uInt64 mnLastHelpHideTime
bool mbDDListBoxNoTextArea
entire drop down listbox resembles a button, no textarea/button parts (as currently on Windows)
bool mbDockingAreaSeparateTB
bool mbCanDrawWidgetAnySize
bool mbNoFrameJunctionForPopups
bool mbNoFocusRectsForFlatButtons
int mnStatusBarLowerRightOffset
bool mbCanDetermineWindowPosition
bool mbDockingAreaAvoidTBFrames
don't draw frames around the individual toolbars if mbDockingAreaSeparateTB is false
bool mbProgressNeedsErase
bool mbNoActiveTabTextRaise
::Color maMenuBarHighlightTextColor
bool mbMenuBarDockingAreaCommonBG
VclPtr< vcl::Window > mpLastWheelWindow
VclPtr< FloatingWindow > mpFirstFloat
StartAutoScrollFlags mnAutoScrollFlags
std::unique_ptr< AutoTimer > mpTrackTimer
StartTrackingFlags mnTrackFlags
VclPtr< vcl::Window > mpLastDeacWin
std::vector< Image > maMsgBoxImgList
SalWheelMouseEvent maLastWheelEvent
VclPtr< vcl::Window > mpAutoScrollWin
VclPtr< vcl::Window > mpFocusWin
VclPtr< vcl::Window > mpCaptureWin
VclPtr< vcl::Window > mpTrackWin
VclPtr< vcl::Window > mpExtTextInputWin
std::vector< VclPtr< Dialog > > mpExecuteDialogs
Stack of dialogs that are Execute()'d - the last one is the top most one.
ImplSchedulerData * mpLastSchedulerData[PRIO_COUNT]
last item of each mpFirstSchedulerData list
bool mbActive
is the scheduler active?
ImplSchedulerData * mpFirstSchedulerData[PRIO_COUNT]
list of all active tasks per priority
ImplSchedulerData * mpSchedulerStack
stack of invoked tasks
SalTimer * mpSalTimer
interface to sal event loop / system timer
sal_uInt64 mnTimerStart
start time of the timer
std::mutex maMutex
the "scheduler mutex" (see vcl/README.scheduler)
sal_uInt64 mnTimerPeriod
current timer period
ImplSchedulerData * mpSchedulerStackTop
top most stack entry to detect needed rescheduling during pop
Cache multiple scalings for the same bitmap.
ScaleCacheKey(const ScaleCacheKey &key)
bool operator==(ScaleCacheKey const &rOther) const
ScaleCacheKey(SalBitmap *pBitmap, const Size &aDestSize)
std::size_t operator()(ScaleCacheKey const &k) const noexcept
@ Off
do not automatically cancel dialogs
VCL_PLUGIN_PUBLIC vcl::Window * ImplGetDefaultWindow()
Returns either the application window, or the default GL context window.
std::vector< std::pair< OUString, FieldUnit > > FieldUnitStringList
SalInstance * GetSalInstance()
VCL_PLUGIN_PUBLIC basegfx::SystemDependentDataManager & ImplGetSystemDependentDataManager()
VCL_DLLPUBLIC bool ImplCallPreNotify(NotifyEvent &rEvt)
std::pair< VclPtr< vcl::Window >, ImplPostEventData * > ImplPostEventPair
VCL_PLUGIN_PUBLIC OUString VclResId(TranslateId sContextAndId)
void GenerateAutoMnemonicsOnHierarchy(const vcl::Window *pWindow)
o3tl::lru_map< ScaleCacheKey, BitmapEx > lru_scale_cache
const std::locale & ImplGetResLocale()
VCL_PLUGIN_PUBLIC ImplSVHelpData & ImplGetSVHelpData()
BlendFrameCache * ImplGetBlendFrameCache()
void SetSalData(SalData *pData)
VCL_PLUGIN_PUBLIC ImplSVData * ImplGetSVData()
VCL_PLUGIN_PUBLIC void ImplHideSplash()
const FieldUnitStringList & ImplGetFieldUnits()
css::uno::Reference< css::i18n::XCharacterClassification > const & ImplGetCharClass()
DockingManager * ImplGetDockingManager()
const FieldUnitStringList & ImplGetCleanedFieldUnits()
vcl::Window * ImplGetDefaultContextWindow()
returns the default window created to hold the persistent VCL GL context.