soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
SPanel.h
Go to the documentation of this file.
1/**
2 * Copyright (C) 2014-2050
3 * All rights reserved.
4 *
5 * @file SPanel.h
6 * @brief SOUI Panel with Scrollbar Support
7 * @version v1.0
8 * @author SOUI group
9 * @date 2014/08/02
10 *
11 * Description: Defines the SPanel class, which provides a panel with support for scrollbars in the non-client area.
12 */
13
14#ifndef __SPANEL__H__
15#define __SPANEL__H__
16
17#include <core/SWnd.h>
18#include <core/SScrollBarHandler.h>
19#include <interface/SCtrl-i.h>
20#include <proxy/SWindowProxy.h>
21
22SNSBEGIN
23
24/**
25 * @class SPanel
26 * @brief Panel with Scrollbar Support
27 *
28 * Description: Implements a panel with support for scrollbars in the non-client area.
29 */
30class SOUI_EXP SPanel
31 : public TWindowProxy<IPanel>
32 , protected IScrollBarHost {
33 DEF_SOBJECT(SWindow, L"div")
34
35 public:
36 /**
37 * @brief Constructor for SPanel.
38 */
39 SPanel();
40
41 /**
42 * @brief Destructor for SPanel.
43 */
44 virtual ~SPanel()
45 {
46 }
47
48 public:
49 /**
50 * @brief Shows or hides a scrollbar.
51 * @param wBar Scrollbar identifier (SB_HORZ or SB_VERT).
52 * @param bShow TRUE to show the scrollbar, FALSE to hide it.
53 * @return TRUE if successful, FALSE otherwise.
54 */
55 STDMETHOD_(BOOL, ShowScrollBar)(THIS_ int wBar, BOOL bShow) OVERRIDE;
56
57 /**
58 * @brief Enables or disables a scrollbar.
59 * @param wBar Scrollbar identifier (SB_HORZ or SB_VERT).
60 * @param bEnable TRUE to enable the scrollbar, FALSE to disable it.
61 * @return TRUE if successful, FALSE otherwise.
62 */
63 STDMETHOD_(BOOL, EnableScrollBar)(THIS_ int wBar, BOOL bEnable) OVERRIDE;
64
65 /**
66 * @brief Checks if a scrollbar is enabled.
67 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
68 * @return TRUE if the scrollbar is enabled, FALSE otherwise.
69 */
70 STDMETHOD_(BOOL, IsScrollBarEnable)(THIS_ BOOL bVertical) SCONST OVERRIDE;
71
72 /**
73 * @brief Sets the scroll information for a scrollbar.
74 * @param si Scroll information structure.
75 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
76 */
77 STDMETHOD_(void, SetScrollInfo)(THIS_ SCROLLINFO si, BOOL bVertical) OVERRIDE;
78
79 /**
80 * @brief Sets the scroll position for a scrollbar.
81 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
82 * @param nNewPos New scroll position.
83 * @param bRedraw TRUE to redraw the scrollbar, FALSE otherwise.
84 * @return TRUE if successful, FALSE otherwise.
85 */
86 STDMETHOD_(BOOL, SetScrollPos)(THIS_ BOOL bVertical, int nNewPos, BOOL bRedraw) OVERRIDE;
87
88 /**
89 * @brief Gets the scroll position for a scrollbar.
90 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
91 * @return Current scroll position.
92 */
93 STDMETHOD_(int, GetScrollPos)(THIS_ BOOL bVertical) SCONST OVERRIDE;
94
95 /**
96 * @brief Sets the scroll range for a scrollbar.
97 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
98 * @param nMinPos Minimum scroll position.
99 * @param nMaxPos Maximum scroll position.
100 * @param bRedraw TRUE to redraw the scrollbar, FALSE otherwise.
101 * @return TRUE if successful, FALSE otherwise.
102 */
103 STDMETHOD_(BOOL, SetScrollRange)(THIS_ BOOL bVertical, int nMinPos, int nMaxPos, BOOL bRedraw) OVERRIDE;
104
105 /**
106 * @brief Gets the scroll range for a scrollbar.
107 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
108 * @param lpMinPos Pointer to receive the minimum scroll position.
109 * @param lpMaxPos Pointer to receive the maximum scroll position.
110 * @return TRUE if successful, FALSE otherwise.
111 */
112 STDMETHOD_(BOOL, GetScrollRange)(THIS_ BOOL bVertical, LPINT lpMinPos, LPINT lpMaxPos) SCONST OVERRIDE;
113
114 /**
115 * @brief Checks if a scrollbar is present.
116 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
117 * @return TRUE if the scrollbar is present, FALSE otherwise.
118 */
119 STDMETHOD_(BOOL, HasScrollBar)(THIS_ BOOL bVertical) SCONST OVERRIDE;
120
121 public:
122 /**
123 * @brief Gets the client rectangle.
124 * @param pRect Pointer to receive the client rectangle.
125 */
126 virtual void WINAPI GetClientRect(LPRECT pRect) const;
127
128 /**
129 * @brief Gets the client rectangle.
130 * @return Client rectangle.
131 */
132 virtual CRect GetClientRect() const;
133
134 protected:
135 // Inherited from IScrollBarHost
136 /**
137 * @brief Gets the rectangle of a scrollbar.
138 * @param bVert TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
139 * @return Rectangle of the scrollbar.
140 */
141 STDMETHOD_(CRect, GetScrollBarRect)(CTHIS_ BOOL bVert) SCONST OVERRIDE;
142
143 /**
144 * @brief Gets the skin for a scrollbar.
145 * @param bVert TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
146 * @return Pointer to the scrollbar skin.
147 */
148 STDMETHOD_(ISkinObj *, GetScrollBarSkin)(CTHIS_ BOOL bVert) SCONST OVERRIDE;
149
150 /**
151 * @brief Gets the scroll information for a scrollbar.
152 * @param bVert TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
153 * @return Pointer to the scroll information structure.
154 */
155 STDMETHOD_(const SCROLLINFO *, GetScrollBarInfo)(CTHIS_ BOOL bVert) SCONST OVERRIDE;
156
157 /**
158 * @brief Gets the arrow size for a scrollbar.
159 * @param bVert TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
160 * @return Arrow size.
161 */
162 STDMETHOD_(int, GetScrollBarArrowSize)(CTHIS_ BOOL bVert) SCONST OVERRIDE;
163
164 /**
165 * @brief Updates a part of the scrollbar.
166 * @param bVert TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
167 * @param iPart Part to update.
168 */
169 STDMETHOD_(void, OnScrollUpdatePart)(THIS_ BOOL bVert, int iPart) OVERRIDE;
170
171 /**
172 * @brief Updates the thumb track of the scrollbar.
173 * @param bVert TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
174 * @param nPos New position of the thumb.
175 */
176 STDMETHOD_(void, OnScrollUpdateThumbTrack)(THIS_ BOOL bVert, int nPos) OVERRIDE;
177
178 /**
179 * @brief Gets the container for the scrollbar.
180 * @return Pointer to the scrollbar container.
181 */
182 STDMETHOD_(ISwndContainer *, GetScrollBarContainer)(THIS) OVERRIDE;
183
184 /**
185 * @brief Handles scroll commands.
186 * @param bVert TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
187 * @param iCmd Command identifier.
188 * @param nPos Position for the command.
189 */
190 STDMETHOD_(void, OnScrollCommand)(THIS_ BOOL bVert, int iCmd, int nPos) OVERRIDE;
191
192 /**
193 * @brief Sets a timer for the scrollbar.
194 * @param bVert TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
195 * @param id Timer identifier.
196 * @param uElapse Elapse time for the timer.
197 */
198 STDMETHOD_(void, OnScrollSetTimer)(THIS_ BOOL bVert, char id, UINT uElapse) OVERRIDE;
199
200 /**
201 * @brief Kills a timer for the scrollbar.
202 * @param bVert TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
203 * @param id Timer identifier.
204 */
205 STDMETHOD_(void, OnScrollKillTimer)(THIS_ BOOL bVert, char id) OVERRIDE;
206
207 /**
208 * @brief Gets the interpolator for the scrollbar.
209 * @return Pointer to the interpolator.
210 */
211 STDMETHOD_(const IInterpolator *, GetScrollInterpolator)(CTHIS) SCONST OVERRIDE;
212
213 /**
214 * @brief Gets the number of fade frames for the scrollbar.
215 * @return Number of fade frames.
216 */
217 STDMETHOD_(int, GetScrollFadeFrames)(CTHIS) SCONST OVERRIDE;
218
219 /**
220 * @brief Gets the minimum alpha value for the scrollbar thumb track.
221 * @return Minimum alpha value.
222 */
223 STDMETHOD_(BYTE, GetScrollThumbTrackMinAlpha)(CTHIS) SCONST OVERRIDE;
224
225 protected:
226 /**
227 * @brief Gets the line size for scrolling.
228 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
229 * @return Line size.
230 */
231 virtual int GetScrollLineSize(BOOL bVertical);
232
233 /**
234 * @brief Handles scroll events.
235 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
236 * @param uCode Scroll code.
237 * @param nPos Position for the scroll.
238 * @return TRUE if handled, FALSE otherwise.
239 */
240 virtual BOOL OnScroll(BOOL bVertical, UINT uCode, int nPos);
241
242 /**
243 * @brief Handles colorization events.
244 * @param cr Color reference.
245 */
246 virtual void OnColorize(COLORREF cr);
247
248 /**
249 * @brief Handles scale change events.
250 * @param nScale New scale value.
251 */
252 virtual void OnScaleChanged(int nScale);
253
254 /**
255 * @brief Handles container change events.
256 * @param pOldContainer Pointer to the old container.
257 * @param pNewContainer Pointer to the new container.
258 */
259 virtual void OnContainerChanged(ISwndContainer *pOldContainer, ISwndContainer *pNewContainer);
260
261 protected:
262 /**
263 * @brief Gets the width of the scrollbar.
264 * @return Scrollbar width.
265 */
266 int GetSbWidth() const;
267
268 /**
269 * @brief Updates the scrollbar.
270 */
271 void ScrollUpdate();
272
273 /**
274 * @brief Handles the scrollbar skin attribute.
275 * @param strValue String value of the attribute.
276 * @param bLoading TRUE if loading, FALSE otherwise.
277 * @return Result of the attribute handling.
278 */
279 HRESULT OnAttrScrollbarSkin(SStringW strValue, BOOL bLoading);
280
281 protected:
282 SCROLLINFO m_siVer, m_siHoz; // Vertical and horizontal scroll information
283 SAutoRefPtr<SSkinScrollbar> m_pSkinSb; // Scrollbar skin
284
285 private: // Modified to private, derived classes can only use GetSbArrowSize(), GetSbWidth() to access
286 SLayoutSize m_nSbArrowSize; // Arrow size for the scrollbar
287 SLayoutSize m_nSbWid; // Width of the scrollbar
288
289 protected:
290 CRect m_rcClient; // Client rectangle
291
292 SLayoutSize m_nSbLeft; // Distance of the scrollbar from the left
293 SLayoutSize m_nSbRight; // Distance of the scrollbar from the right
294 SLayoutSize m_nSbTop; // Distance of the scrollbar from the top
295 SLayoutSize m_nSbBottom; // Distance of the scrollbar from the bottom
296
297 ScrollBarID m_dragSb, m_hitSb; // Dragging and hit scrollbar IDs
298
299 UINT m_wBarVisible; // Scrollbar visibility information
300 UINT m_wBarEnable; // Scrollbar enable information
301 SScrollBarHandler m_sbVert; // Vertical scrollbar handler
302 SScrollBarHandler m_sbHorz; // Horizontal scrollbar handler
303
304 DWORD m_dwUpdateTime; // Time of the last update
305 DWORD m_dwUpdateInterval; // Update interval
306
307 short m_zDelta; // Delta value for mouse wheel
308 int m_nScrollSpeed; // Scroll speed
309
310 mutable SAutoRefPtr<IInterpolator> m_fadeInterpolator; // Interpolator for fading
311 int m_fadeFrames; // Number of fade frames
312 BYTE m_bySbThumbTrackMinAlpha; // Minimum alpha value for thumb track
313
314 SOUI_ATTRS_BEGIN()
315 ATTR_CUSTOM(L"sbSkin", OnAttrScrollbarSkin)
316 ATTR_LAYOUTSIZE(L"sbArrowSize", m_nSbArrowSize, FALSE)
317 ATTR_LAYOUTSIZE(L"sbWid", m_nSbWid, TRUE)
318 ATTR_INT(L"sbEnable", m_wBarEnable, TRUE)
319 ATTR_UINT(L"updateInterval", m_dwUpdateInterval, FALSE)
320 ATTR_UINT(L"scrollSpeed", m_nScrollSpeed, FALSE)
321
322 ATTR_LAYOUTSIZE(L"sbLeft", m_nSbLeft, TRUE)
323 ATTR_LAYOUTSIZE(L"sbRight", m_nSbRight, TRUE)
324 ATTR_LAYOUTSIZE(L"sbTop", m_nSbTop, TRUE)
325 ATTR_LAYOUTSIZE(L"sbBottom", m_nSbBottom, TRUE)
326
327 ATTR_INT(L"sbFadeFrames", m_fadeFrames, FALSE)
328 ATTR_INT(L"sbTrumbTrackMinAlpha", m_bySbThumbTrackMinAlpha, FALSE)
329 ATTR_INTERPOLATOR(L"sbFadeInterpolator", m_fadeInterpolator, FALSE)
330 ATTR_CHAIN_PTR(m_fadeInterpolator, 0)
331 SOUI_ATTRS_END()
332
333 protected:
334 /**
335 * @brief Handles the WM_CREATE message.
336 * @param lp Create structure.
337 * @return Result of the message handling.
338 */
339 int OnCreate(LPVOID);
340
341 /**
342 * @brief Handles the WM_DESTROY message.
343 */
344 void OnDestroy();
345
346 /**
347 * @brief Handles the WM_NCPAINT message.
348 * @param pRT Pointer to the render target.
349 */
350 void OnNcPaint(IRenderTarget *pRT);
351
352 /**
353 * @brief Handles the WM_NCHITTEST message.
354 * @param pt Point to test.
355 * @return Hit test result.
356 */
357 virtual BOOL OnNcHitTest(CPoint pt);
358
359 /**
360 * @brief Handles the WM_NCLBUTTONDOWN message.
361 * @param nFlags Flags for the message.
362 * @param point Point where the button was pressed.
363 */
364 void OnNcLButtonDown(UINT nFlags, CPoint point);
365
366 /**
367 * @brief Handles the WM_NCLBUTTONUP message.
368 * @param nFlags Flags for the message.
369 * @param pt Point where the button was released.
370 */
371 void OnNcLButtonUp(UINT nFlags, CPoint pt);
372
373 /**
374 * @brief Handles the WM_NCMOUSEMOVE message.
375 * @param nFlags Flags for the message.
376 * @param point Point where the mouse moved.
377 */
378 void OnNcMouseMove(UINT nFlags, CPoint point);
379
380 /**
381 * @brief Handles the WM_NCMOUSELEAVE message.
382 */
383 void OnNcMouseLeave();
384
385 /**
386 * @brief Handles the WM_NCCALCSIZE message.
387 * @param bCalcValidRects TRUE if valid rectangle calculation is required.
388 * @param lParam LPARAM for the message.
389 * @return Result of the message handling.
390 */
391 LRESULT OnNcCalcSize(BOOL bCalcValidRects, LPARAM lParam);
392
393 /**
394 * @brief Handles the WM_MOUSEWHEEL message.
395 * @param nFlags Flags for the message.
396 * @param zDelta Delta value for the mouse wheel.
397 * @param pt Point where the mouse wheel was scrolled.
398 * @return Result of the message handling.
399 */
400 BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
401
402 /**
403 * @brief Handles the WM_TIMER message.
404 * @param cTimerID Timer identifier.
405 */
406 void OnTimer(char cTimerID);
407
408 /**
409 * @brief Handles the WM_SHOWWINDOW message.
410 * @param bShow TRUE if the window is shown, FALSE if hidden.
411 * @param nStatus Status of the window.
412 */
413 void OnShowWindow(BOOL bShow, UINT nStatus);
414
415 /**
416 * @brief Handles the WM_ENABLE message.
417 * @param bEnable TRUE if the window is enabled, FALSE if disabled.
418 * @param uStatus Status of the window.
419 */
420 void OnEnable(BOOL bEnable, UINT uStatus);
421
422 /**
423 * @brief Handles the WM_VSCROLL message.
424 * @param nSBCode Scroll code.
425 * @param nPos Position for the scroll.
426 * @param hwnd Handle to the window.
427 */
428 void OnVScroll(UINT nSBCode, UINT nPos, HWND hwnd);
429
430 /**
431 * @brief Handles the WM_HSCROLL message.
432 * @param nSBCode Scroll code.
433 * @param nPos Position for the scroll.
434 * @param hwnd Handle to the window.
435 */
436 void OnHScroll(UINT nSBCode, UINT nPos, HWND hwnd);
437
438 SOUI_MSG_MAP_BEGIN()
439 MSG_WM_CREATE(OnCreate)
440 MSG_WM_DESTROY(OnDestroy)
441 MSG_WM_NCPAINT_EX(OnNcPaint)
442 MSG_WM_NCCALCSIZE(OnNcCalcSize)
443 MSG_WM_NCLBUTTONDOWN(OnNcLButtonDown)
444 MSG_WM_NCLBUTTONUP(OnNcLButtonUp)
445 MSG_WM_NCLBUTTONDBLCLK(OnNcLButtonDown)
446 MSG_WM_NCMOUSEMOVE(OnNcMouseMove)
447 MSG_WM_NCMOUSELEAVE(OnNcMouseLeave)
448 MSG_WM_MOUSEWHEEL(OnMouseWheel)
449 MSG_WM_TIMER_EX(OnTimer)
450 MSG_WM_SHOWWINDOW(OnShowWindow)
451 MSG_WM_ENABLE_EX(OnEnable)
452 MSG_WM_VSCROLL(OnVScroll)
453 MSG_WM_HSCROLL(OnHScroll)
454 SOUI_MSG_MAP_END()
455};
456
457SNSEND
458
459#include <proxy/SPanelProxy.h>
460
461SNSBEGIN
462
463/**
464 * @class SScrollView
465 * @brief Scrollable Panel
466 *
467 * Description: Implements a scrollable panel that supports scrolling content.
468 */
469class SOUI_EXP SScrollView : public TPanelProxy<IScrollView> {
470 DEF_SOBJECT(SPanel, L"scrollview")
471
472 public:
473 /**
474 * @brief Constructor for SScrollView.
475 */
476 SScrollView();
477
478 /**
479 * @brief Destructor for SScrollView.
480 */
481 virtual ~SScrollView()
482 {
483 }
484
485 public:
486 /**
487 * @brief Gets the size of the view.
488 * @param szView Pointer to receive the view size.
489 */
490 STDMETHOD_(void, GetViewSize)(CTHIS_ SIZE *szView) SCONST OVERRIDE;
491
492 /**
493 * @brief Sets the size of the view.
494 * @param szView New size of the view.
495 */
496 STDMETHOD_(void, SetViewSize)(THIS_ SIZE szView) OVERRIDE;
497
498 /**
499 * @brief Gets the origin of the view.
500 * @param ptOri Pointer to receive the origin of the view.
501 */
502 STDMETHOD_(void, GetViewOrigin)(CTHIS_ POINT *ptOri) SCONST OVERRIDE;
503
504 /**
505 * @brief Sets the origin of the view.
506 * @param pt New origin of the view.
507 */
508 STDMETHOD_(void, SetViewOrigin)(THIS_ POINT pt) OVERRIDE;
509
510 protected:
511 /**
512 * @brief Called when the view size changes.
513 * @param szOld Old size of the view.
514 * @param szNew New size of the view.
515 */
516 virtual void OnViewSizeChanged(CSize szOld, CSize szNew);
517
518 /**
519 * @brief Called when the view origin changes.
520 * @param ptOld Old origin of the view.
521 * @param ptNew New origin of the view.
522 */
523 virtual void OnViewOriginChanged(CPoint ptOld, CPoint ptNew);
524
525 protected:
526 /**
527 * @brief Gets the layout rectangle of the children.
528 * @param prc Pointer to receive the layout rectangle.
529 */
530 STDMETHOD_(void, GetChildrenLayoutRect)(THIS_ RECT *prc) SCONST OVERRIDE;
531
532 /**
533 * @brief Updates the position of the children.
534 */
535 STDMETHOD_(void, UpdateChildrenPosition)(THIS) OVERRIDE;
536
537 /**
538 * @brief Handles scroll events.
539 * @param bVertical TRUE for vertical scrollbar, FALSE for horizontal scrollbar.
540 * @param uCode Scroll code.
541 * @param nPos Position for the scroll.
542 * @return TRUE if handled, FALSE otherwise.
543 */
544 virtual BOOL OnScroll(BOOL bVertical, UINT uCode, int nPos);
545
546 /**
547 * @brief Updates the scrollbar.
548 */
549 virtual void UpdateScrollBar();
550
551 protected:
552 /**
553 * @brief Handles the view size attribute.
554 * @param strValue String value of the attribute.
555 * @param bLoading TRUE if loading, FALSE otherwise.
556 * @return Result of the attribute handling.
557 */
558 HRESULT OnAttrViewSize(const SStringW &strValue, BOOL bLoading);
559
560 SOUI_ATTRS_BEGIN()
561 ATTR_INT(L"origin-x", m_ptOrigin.x, FALSE)
562 ATTR_INT(L"origin-y", m_ptOrigin.y, FALSE)
563 ATTR_CUSTOM(L"viewSize", OnAttrViewSize)
564 SOUI_ATTRS_END()
565
566 protected:
567 /**
568 * @brief Updates the view size.
569 */
570 void UpdateViewSize();
571
572 /**
573 * @brief Handles the WM_SIZE message.
574 * @param nType Type of size change.
575 * @param size New size of the window.
576 */
577 void OnSize(UINT nType, CSize size);
578
579 SOUI_MSG_MAP_BEGIN()
580 MSG_WM_SIZE(OnSize)
581 SOUI_MSG_MAP_END()
582
583 protected:
584 SLayoutSize m_viewSize[2]; // View size in two dimensions
585 CPoint m_ptOrigin; // Origin of the view
586 SIZE m_szView; // Current size of the view
587};
588
589SNSEND
590
591#endif // __SPANEL__H__
SOUI基础DUI窗口模块
Smart pointer class for managing COM-style reference-counted objects.
布局大小类
Definition SLayoutSize.h:10
Panel with Scrollbar Support.
Definition SPanel.h:32
SPanel()
Constructor for SPanel.
Definition SPanel.cpp:165
virtual ~SPanel()
Destructor for SPanel.
Definition SPanel.h:44
Scrollbar Handler.
SScrollView()
Constructor for SScrollView.
Definition SPanel.cpp:666
virtual ~SScrollView()
Destructor for SScrollView.
Definition SPanel.h:481
A class representing an ASCII string.
Definition sstringw.h:96
virtual void OnContainerChanged(ISwndContainer *pOldContainer, ISwndContainer *pNewContainer)
Called when the container of the window changes.
Definition Swnd.cpp:3407
virtual void OnScaleChanged(int scale)
Called when the scale of the window changes.
Definition Swnd.cpp:3271
virtual CRect GetClientRect() const
Retrieves the client rectangle of the window.
Definition Swnd.cpp:243
SWindow()
Constructor.
Definition Swnd.cpp:104
virtual void OnColorize(COLORREF cr)
Adjusts the color tone of the window.
Definition Swnd.cpp:3154
Interface for rendering target objects.
Definition SRender-i.h:1440
Interface for scrollbar host.
Interface for Skin Objects.
Definition SSkinobj-i.h:29
SOUI Window Container Interface.