class AutoTimer; class WinSalInstance; class WinSalObject; class WinSalFrame; class WinSalVirtualDevice; class WinSalPrinter; namespace vcl { class Font; } struct HDCCache; struct TempFontItem; class TextOutRenderer; #if HAVE_FEATURE_SKIA class SkiaControlsCache; #endif
// checks if the menuhandle was created by VCL bool IsKnownMenuHandle( HMENU hMenu );
bool mbResourcesAlreadyFreed;
public:
HINSTANCE mhInst; // default instance handle int mnCmdShow; // default frame show style
HHOOK mhSalObjMsgHook; // hook to get interesting msg for SalObject
HWND mhWantLeaveMsg; // window handle, that want a MOUSELEAVE message
WinSalInstance* mpInstance;
WinSalFrame* mpFirstFrame; // pointer of first frame
WinSalObject* mpFirstObject; // pointer of first object window
WinSalVirtualDevice* mpFirstVD; // first VirDev
WinSalPrinter* mpFirstPrinter; // first printing printer
std::array<HDCCache, CACHESIZE_HDC> maHDCCache; // Cache for three DC's
HBITMAP mh50Bmp; // 50% Bitmap
HBRUSH mh50Brush; // 50% Brush
COLORREF maStockPenColorAry[MAX_STOCKPEN];
COLORREF maStockBrushColorAry[MAX_STOCKBRUSH];
HPEN mhStockPenAry[MAX_STOCKPEN];
HBRUSH mhStockBrushAry[MAX_STOCKBRUSH];
sal_uInt16 mnStockPenCount; // count of static pens
sal_uInt16 mnStockBrushCount; // count of static brushes
WPARAM mnSalObjWantKeyEvt; // KeyEvent that should be processed by SalObj-Hook bool mbObjClassInit; // is SALOBJECTCLASS initialised
DWORD mnAppThreadId; // Id from Application-Thread
SalIcon* mpFirstIcon; // icon cache, points to first icon, NULL if none
TempFontItem* mpTempFontItem; // LibreOffice own fonts (shared and embedded) bool mbThemeChanged; // true if visual theme was changed: throw away theme handles bool mbThemeMenuSupport;
// for GdiPlus GdiplusStartup/GdiplusShutdown
ULONG_PTR gdiplusToken;
std::set< HMENU > mhMenuSet; // keeps track of menu handles created by VCL, used by IsKnownMenuHandle()
std::map< UINT,sal_uInt16 > maVKMap; // map some dynamic VK_* entries
std::unique_ptr<TextOutRenderer> m_pD2DWriteTextOutRenderer; // tdf#107205 need 2 instances because D2DWrite can't rotate text
std::unique_ptr<TextOutRenderer> m_pExTextOutRenderer; #if HAVE_FEATURE_SKIA
std::unique_ptr<SkiaControlsCache> m_pSkiaControlsCache; #endif
};
// SysChild-ToTop; wParam = 0; lParam = 0 #define SALOBJ_MSG_TOTOP (WM_USER+160) // Used for SETFOCUS and KILLFOCUS // POSTFOCUS-Message; wParam == bFocus; lParam == 0 #define SALOBJ_MSG_POSTFOCUS (WM_USER+161)
// Call the Timer's callback from the main thread // wParam = 1 == run when yield is idle instead of direct #define SAL_MSG_TIMER_CALLBACK (WM_USER+162) // Stop the timer from the main thread; wParam = 0, lParam = 0 #define SAL_MSG_STOPTIMER (WM_USER+163) // Start a real timer while GUI is blocked by native dialog #define SAL_MSG_FORCE_REAL_TIMER (WM_USER+164)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.