Crazy Eddies GUI System  0.7.9
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
CEGUIWindow.h
1 /***********************************************************************
2  filename: CEGUIWindow.h
3  created: 21/2/2004
4  author: Paul D Turner
5 
6  purpose: Defines abstract base class for Window objects
7 *************************************************************************/
8 /***************************************************************************
9  * Copyright (C) 2004 - 2011 Paul D Turner & The CEGUI Development Team
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining
12  * a copy of this software and associated documentation files (the
13  * "Software"), to deal in the Software without restriction, including
14  * without limitation the rights to use, copy, modify, merge, publish,
15  * distribute, sublicense, and/or sell copies of the Software, and to
16  * permit persons to whom the Software is furnished to do so, subject to
17  * the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be
20  * included in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
26  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
27  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
28  * OTHER DEALINGS IN THE SOFTWARE.
29  ***************************************************************************/
30 #ifndef _CEGUIWindow_h_
31 #define _CEGUIWindow_h_
32 
33 #include "CEGUIBase.h"
34 #include "CEGUIString.h"
35 #include "CEGUIVector.h"
36 #include "CEGUIRect.h"
37 #include "CEGUISize.h"
38 #include "CEGUIEventSet.h"
39 #include "CEGUIPropertySet.h"
40 #include "CEGUISystem.h"
41 #include "CEGUIInputEvent.h"
42 #include "CEGUIWindowProperties.h"
43 #include "CEGUIUDim.h"
44 #include "CEGUIWindowRenderer.h"
45 #include "CEGUITextUtils.h"
46 #include "CEGUIBasicRenderedStringParser.h"
47 #include "CEGUIDefaultRenderedStringParser.h"
48 #include <vector>
49 #include <set>
50 
51 
52 #if defined(_MSC_VER)
53 # pragma warning(push)
54 # pragma warning(disable : 4251)
55 #endif
56 
57 
58 // Start of CEGUI namespace section
59 namespace CEGUI
60 {
66 {
82 };
83 
89 {
105 };
106 
116 {
123 };
124 
138 class CEGUIEXPORT Window : public PropertySet, public EventSet
139 {
140 public:
141  /*************************************************************************
142  Event name constants
143  *************************************************************************/
145  static const String EventNamespace;
146 
147  // generated internally by Window
157  static const String EventParentSized;
162  static const String EventSized;
167  static const String EventMoved;
172  static const String EventTextChanged;
177  static const String EventFontChanged;
182  static const String EventAlphaChanged;
187  static const String EventIDChanged;
194  static const String EventActivated;
201  static const String EventDeactivated;
206  static const String EventShown;
211  static const String EventHidden;
216  static const String EventEnabled;
222  static const String EventDisabled;
281  static const String EventChildAdded;
286  static const String EventChildRemoved;
349  static const String EventRotated;
369 
370  // generated externally (inputs)
391  static const String EventMouseEnters;
402  static const String EventMouseLeaves;
407  static const String EventMouseMove;
413  static const String EventMouseWheel;
430  static const String EventMouseClick;
451  static const String EventKeyDown;
460  static const String EventKeyUp;
468  static const String EventCharacterKey;
469 
470  /*************************************************************************
471  Child Widget name suffix constants
472  *************************************************************************/
474  static const String TooltipNameSuffix;
477 
478 
489  Window(const String& type, const String& name);
490 
495  virtual ~Window(void);
496 
504  const String& getType(void) const;
505 
513  const String& getName(void) const {return d_name;}
514 
524  bool isDestroyedByParent(void) const {return d_destroyedByParent;}
525 
535  bool isAlwaysOnTop(void) const {return d_alwaysOnTop;}
536 
549  bool isDisabled(bool localOnly = false) const;
550 
567  bool isVisible(bool localOnly = false) const;
568 
583  bool isActive(void) const;
584 
594  bool isClippedByParent(void) const {return d_clippedByParent;}
595 
603  uint getID(void) const {return d_ID;}
604 
614  size_t getChildCount(void) const {return d_children.size();}
615 
628  bool isChild(const String& name) const;
629 
646  bool isChild(uint ID) const;
647 
668  bool isChildRecursive(uint ID) const;
669 
681  bool isChild(const Window* window) const;
682 
704  Window* getChild(const String& name) const;
705 
727  Window* getChild(uint ID) const;
728 
752  Window* getChildRecursive(const String& name) const;
753 
775  Window* getChildRecursive(uint ID) const;
776 
790  Window* getChildAtIdx(size_t idx) const {return d_children[idx];}
791 
804  Window* getActiveChild(void);
805  const Window* getActiveChild(void) const;
806 
820  bool isAncestor(const String& name) const;
821 
835  bool isAncestor(uint ID) const;
836 
849  bool isAncestor(const Window* window) const;
850 
864  Font* getFont(bool useDefault = true) const;
865 
873  const String& getText(void) const {return d_textLogical;}
874 
876  const String& getTextVisual() const;
877 
886  bool inheritsAlpha(void) const {return d_inheritsAlpha;}
887 
905  float getAlpha(void) const {return d_alpha;}
906 
916  float getEffectiveAlpha(void) const;
917 
923  Rect getUnclippedOuterRect() const;
924 
930  Rect getUnclippedInnerRect() const;
931 
943  Rect getUnclippedRect(const bool inner) const;
944 
957  Rect getOuterRectClipper() const;
958 
971  Rect getInnerRectClipper() const;
972 
991  Rect getClipRect(const bool non_client = false) const;
992 
1003  Rect getHitTestRect() const;
1004 
1024  Rect getChildWindowContentArea(const bool non_client = false) const;
1025 
1042  virtual Rect getUnclippedInnerRect_impl(void) const;
1043 
1052  static Window* getCaptureWindow(void) {return d_captureWindow;}
1053 
1062  bool isCapturedByThis(void) const {return getCaptureWindow() == this;}
1063 
1073  bool isCapturedByAncestor(void) const
1074  {return isAncestor(getCaptureWindow());}
1075 
1084  bool isCapturedByChild(void) const {return isChild(getCaptureWindow());}
1085 
1102  virtual bool isHit(const Vector2& position,
1103  const bool allow_disabled = false) const;
1104 
1117  Window* getChildAtPosition(const Vector2& position) const;
1118 
1136  Window* getTargetChildAtPosition(const Vector2& position,
1137  const bool allow_disabled = false) const;
1138 
1147  Window* getParent(void) const {return d_parent;}
1148 
1163  const Image* getMouseCursor(bool useDefault = true) const;
1164 
1172  Size getPixelSize(void) const { return d_pixelSize; }
1173 
1185  void* getUserData(void) const {return d_userData;}
1186 
1201  bool restoresOldCapture(void) const {return d_restoreOldCapture;}
1202 
1222  bool isZOrderingEnabled(void) const;
1223 
1234  bool wantsMultiClickEvents(void) const;
1235 
1247  bool isMouseAutoRepeatEnabled(void) const;
1248 
1257  float getAutoRepeatDelay(void) const;
1258 
1268  float getAutoRepeatRate(void) const;
1269 
1279  bool distributesCapturedInputs(void) const;
1280 
1290  bool isUsingDefaultTooltip(void) const;
1291 
1301  Tooltip* getTooltip(void) const;
1302 
1311  String getTooltipType(void) const;
1312 
1320  const String& getTooltipText(void) const;
1321 
1333  bool inheritsTooltipText(void) const;
1334 
1355  bool isRiseOnClickEnabled(void) const { return d_riseOnClick; }
1356 
1368  bool testClassName(const String& class_name) const
1369  {return testClassName_impl(class_name);}
1370 
1381  VerticalAlignment getVerticalAlignment() const {return d_vertAlign;}
1382 
1393  HorizontalAlignment getHorizontalAlignment() const {return d_horzAlign;}
1394 
1402  GeometryBuffer& getGeometryBuffer();
1403 
1412  const String& getLookNFeel() const;
1413 
1421  bool getModalState(void) const
1422  {return(System::getSingleton().getModalTarget() == this);}
1423 
1437  const String& getUserString(const String& name) const;
1438 
1450  bool isUserStringDefined(const String& name) const;
1451 
1467  Window* getActiveSibling();
1468 
1478  Size getParentPixelSize(void) const;
1479 
1489  float getParentPixelWidth(void) const;
1490 
1500  float getParentPixelHeight(void) const;
1501 
1512  bool isMousePassThroughEnabled(void) const {return d_mousePassThroughEnabled;}
1513 
1519  bool isAutoWindow(void) const {return d_autoWindow;}
1520 
1525  bool isWritingXMLAllowed(void) const {return d_allowWriteXML;}
1526 
1551  EventSet::Iterator getEventIterator() const;
1552 
1573  PropertySet::Iterator getPropertyIterator() const;
1574 
1584  bool isDragDropTarget() const;
1585 
1591  void getRenderingContext(RenderingContext& ctx) const;
1592 
1594  virtual void getRenderingContext_impl(RenderingContext& ctx) const;
1595 
1601  RenderingSurface* getRenderingSurface() const;
1602 
1608  RenderingSurface& getTargetRenderingSurface() const;
1609 
1621  bool isUsingAutoRenderingSurface() const;
1622 
1633  const Window* getRootWindow() const;
1634  Window* getRootWindow();
1635 
1637  const Vector3& getRotation() const;
1638 
1653  bool isNonClientWindow() const;
1654 
1665  void rename(const String& new_name);
1666 
1678  virtual void initialiseComponents(void) {}
1679 
1693  void setDestroyedByParent(bool setting);
1694 
1707  void setAlwaysOnTop(bool setting);
1708 
1721  void setEnabled(bool setting);
1722 
1730  void enable(void) {setEnabled(true);}
1731 
1739  void disable(void) {setEnabled(false);}
1740 
1758  void setVisible(bool setting);
1759 
1772  void show(void) {setVisible(true);}
1773 
1784  void hide(void) {setVisible(false);}
1785 
1794  void activate(void);
1795 
1805  void deactivate(void);
1806 
1819  void setClippedByParent(bool setting);
1820 
1832  void setID(uint ID);
1833 
1844  void setText(const String& text);
1845 
1859  void insertText(const String& text, const String::size_type position);
1860 
1870  void appendText(const String& text);
1871 
1883  void setFont(Font* font);
1884 
1899  void setFont(const String& name);
1900 
1919  void addChildWindow(const String& name);
1920 
1937  void addChildWindow(Window* window);
1938 
1950  void removeChildWindow(const String& name);
1951 
1963  void removeChildWindow(Window* window);
1964 
1978  void removeChildWindow(uint ID);
1979 
1993  void moveToFront();
1994 
2009  void moveToBack();
2010 
2024  void moveInFront(const Window* const window);
2025 
2040  void moveBehind(const Window* const window);
2041 
2051  bool captureInput(void);
2052 
2061  void releaseInput(void);
2062 
2081  void setRestoreCapture(bool setting);
2082 
2103  void setAlpha(float alpha);
2104 
2116  void setInheritsAlpha(bool setting);
2117 
2129  void invalidate(void);
2130 
2146  void invalidate(const bool recursive);
2147 
2159  void setMouseCursor(const Image* image);
2160 
2171  void setMouseCursor(MouseCursorImage image);
2172 
2192  void setMouseCursor(const String& imageset, const String& image_name);
2193 
2208  void setUserData(void* user_data) {d_userData = user_data;}
2209 
2232  void setZOrderingEnabled(bool setting);
2233 
2247  void setWantsMultiClickEvents(bool setting);
2248 
2261  void setMouseAutoRepeatEnabled(bool setting);
2262 
2274  void setAutoRepeatDelay(float delay);
2275 
2288  void setAutoRepeatRate(float rate);
2289 
2299  void setDistributesCapturedInputs(bool setting);
2300 
2306  void notifyDragDropItemEnters(DragContainer* item);
2307 
2313  void notifyDragDropItemLeaves(DragContainer* item);
2314 
2320  void notifyDragDropItemDropped(DragContainer* item);
2321 
2335  virtual void destroy(void);
2336 
2352  void setTooltip(Tooltip* tooltip);
2353 
2372  void setTooltipType(const String& tooltipType);
2373 
2385  void setTooltipText(const String& tip);
2386 
2401  void setInheritsTooltipText(bool setting);
2402 
2426  void setRiseOnClickEnabled(bool setting) { d_riseOnClick = setting; }
2427 
2441  void setVerticalAlignment(const VerticalAlignment alignment);
2442 
2456  void setHorizontalAlignment(const HorizontalAlignment alignment);
2457 
2474  virtual void setLookNFeel(const String& look);
2475 
2489  void setModalState(bool state);
2490 
2501  virtual void performChildWindowLayout();
2502 
2516  void setUserString(const String& name, const String& value);
2517 
2544  void setArea(const UDim& xpos, const UDim& ypos, const UDim& width, const UDim& height);
2545 
2567  void setArea(const UVector2& pos, const UVector2& size);
2568 
2586  void setArea(const URect& area);
2587 
2606  void setPosition(const UVector2& pos);
2607 
2625  void setXPosition(const UDim& x);
2626 
2644  void setYPosition(const UDim& y);
2645 
2660  void setSize(const UVector2& size);
2661 
2676  void setWidth(const UDim& width);
2677 
2692  void setHeight(const UDim& height);
2693 
2710  void setMaxSize(const UVector2& size);
2711 
2728  void setMinSize(const UVector2& size);
2729 
2747  const URect& getArea() const;
2748 
2766  const UVector2& getPosition() const;
2767 
2785  const UDim& getXPosition() const;
2786 
2804  const UDim& getYPosition() const;
2805 
2820  UVector2 getSize() const;
2821 
2836  UDim getWidth() const;
2837 
2852  UDim getHeight() const;
2853 
2870  const UVector2& getMaxSize() const;
2871 
2888  const UVector2& getMinSize() const;
2889 
2898  void render();
2899 
2918  virtual void update(float elapsed);
2919 
2930  virtual void writeXMLToStream(XMLSerializer& xml_stream) const;
2931 
2940  virtual void beginInitialisation(void) {d_initialising = true;}
2941 
2949  virtual void endInitialisation(void) {d_initialising = false;}
2950 
2961  void setMousePassThroughEnabled(bool setting) {d_mousePassThroughEnabled = setting;}
2962 
2974  void setWindowRenderer(const String& name);
2975 
2984  WindowRenderer* getWindowRenderer(void) const;
2985 
2995  String getWindowRendererName(void) const;
2996 
3001  void setWritingXMLAllowed(bool allow) {d_allowWriteXML = allow;}
3002 
3013  void notifyScreenAreaChanged(bool recursive = true);
3014 
3026  void setFalagardType(const String& type, const String& rendererType = "");
3027 
3037  void setDragDropTarget(bool setting);
3038 
3059  void setRenderingSurface(RenderingSurface* surface);
3060 
3067  void invalidateRenderingSurface();
3068 
3110  void setUsingAutoRenderingSurface(bool setting);
3111 
3113  void setRotation(const Vector3& rotation);
3114 
3129  void setNonClientWindow(const bool setting);
3130 
3132  const RenderedString& getRenderedString() const;
3134  RenderedStringParser* getCustomRenderedStringParser() const;
3136  void setCustomRenderedStringParser(RenderedStringParser* parser);
3138  virtual RenderedStringParser& getRenderedStringParser() const;
3140  bool isTextParsingEnabled() const;
3142  void setTextParsingEnabled(const bool setting);
3143 
3145  virtual void setMargin(const UBox& margin);
3147  const UBox& getMargin() const;
3148 
3150  Vector2 getUnprojectedPosition(const Vector2& pos) const;
3151 
3154  {return d_bidiVisualMapping;}
3155 
3157  void banPropertyFromXML(const String& property_name);
3158 
3160  void unbanPropertyFromXML(const String& property_name);
3161 
3163  bool isPropertyBannedFromXML(const String& property_name) const;
3164 
3166  void banPropertyFromXML(const Property* property);
3167 
3169  void unbanPropertyFromXML(const Property* property);
3170 
3172  bool isPropertyBannedFromXML(const Property* property) const;
3173 
3191  void setUpdateMode(const WindowUpdateMode mode);
3192 
3210  WindowUpdateMode getUpdateMode() const;
3211 
3222  void setMouseInputPropagationEnabled(const bool enabled);
3223 
3234  bool isMouseInputPropagationEnabled() const;
3235 
3250  Window* clone(const String& newName, const bool deepCopy = true) const;
3251 
3253  virtual void clonePropertiesTo(Window& target) const;
3255  virtual void cloneChildWidgetsTo(Window& target) const;
3256 
3269  size_t getZIndex() const;
3270 
3280  bool isInFront(const Window& wnd) const;
3281 
3291  bool isBehind(const Window& wnd) const;
3292 
3293 protected:
3294  // friend classes for construction / initialisation purposes (for now)
3295  friend class System;
3296  friend class WindowManager;
3297 
3298  /*************************************************************************
3299  Event trigger methods
3300  *************************************************************************/
3310  virtual void onSized(WindowEventArgs& e);
3311 
3321  virtual void onMoved(WindowEventArgs& e);
3322 
3332  virtual void onTextChanged(WindowEventArgs& e);
3333 
3343  virtual void onFontChanged(WindowEventArgs& e);
3344 
3354  virtual void onAlphaChanged(WindowEventArgs& e);
3355 
3365  virtual void onIDChanged(WindowEventArgs& e);
3366 
3376  virtual void onShown(WindowEventArgs& e);
3377 
3387  virtual void onHidden(WindowEventArgs& e);
3388 
3398  virtual void onEnabled(WindowEventArgs& e);
3399 
3409  virtual void onDisabled(WindowEventArgs& e);
3410 
3421  virtual void onClippingChanged(WindowEventArgs& e);
3422 
3433  virtual void onParentDestroyChanged(WindowEventArgs& e);
3434 
3445  virtual void onInheritsAlphaChanged(WindowEventArgs& e);
3446 
3456  virtual void onAlwaysOnTopChanged(WindowEventArgs& e);
3457 
3467  virtual void onCaptureGained(WindowEventArgs& e);
3468 
3478  virtual void onCaptureLost(WindowEventArgs& e);
3479 
3489  virtual void onRenderingStarted(WindowEventArgs& e);
3490 
3500  virtual void onRenderingEnded(WindowEventArgs& e);
3501 
3511  virtual void onZChanged(WindowEventArgs& e);
3512 
3522  virtual void onDestructionStarted(WindowEventArgs& e);
3523 
3532  virtual void onActivated(ActivationEventArgs& e);
3533 
3543  virtual void onDeactivated(ActivationEventArgs& e);
3544 
3556  virtual void onParentSized(WindowEventArgs& e);
3557 
3566  virtual void onChildAdded(WindowEventArgs& e);
3567 
3576  virtual void onChildRemoved(WindowEventArgs& e);
3577 
3585  virtual void onMouseEntersArea(MouseEventArgs& e);
3586 
3594  virtual void onMouseLeavesArea(MouseEventArgs& e);
3595 
3610  virtual void onMouseEnters(MouseEventArgs& e);
3611 
3626  virtual void onMouseLeaves(MouseEventArgs& e);
3627 
3636  virtual void onMouseMove(MouseEventArgs& e);
3637 
3646  virtual void onMouseWheel(MouseEventArgs& e);
3647 
3656  virtual void onMouseButtonDown(MouseEventArgs& e);
3657 
3666  virtual void onMouseButtonUp(MouseEventArgs& e);
3667 
3676  virtual void onMouseClicked(MouseEventArgs& e);
3677 
3686  virtual void onMouseDoubleClicked(MouseEventArgs& e);
3687 
3696  virtual void onMouseTripleClicked(MouseEventArgs& e);
3697 
3709  virtual void onKeyDown(KeyEventArgs& e);
3710 
3722  virtual void onKeyUp(KeyEventArgs& e);
3723 
3735  virtual void onCharacter(KeyEventArgs& e);
3736 
3747  virtual void onDragDropItemEnters(DragDropEventArgs& e);
3748 
3759  virtual void onDragDropItemLeaves(DragDropEventArgs& e);
3760 
3771  virtual void onDragDropItemDropped(DragDropEventArgs& e);
3772 
3783  virtual void onVerticalAlignmentChanged(WindowEventArgs& e);
3784 
3795  virtual void onHorizontalAlignmentChanged(WindowEventArgs& e);
3796 
3806  virtual void onWindowRendererAttached(WindowEventArgs& e);
3807 
3817  virtual void onWindowRendererDetached(WindowEventArgs& e);
3818 
3828  virtual void onRotated(WindowEventArgs& e);
3829 
3840  virtual void onNonClientChanged(WindowEventArgs& e);
3841 
3852  virtual void onTextParsingChanged(WindowEventArgs& e);
3853 
3854  virtual void onMarginChanged(WindowEventArgs& e);
3855 
3856  /*************************************************************************
3857  Implementation Functions
3858  *************************************************************************/
3870  virtual void updateSelf(float elapsed);
3871 
3883  virtual void drawSelf(const RenderingContext& ctx);
3884 
3895  void bufferGeometry(const RenderingContext& ctx);
3896 
3907  void queueGeometry(const RenderingContext& ctx);
3908 
3915  virtual void populateGeometryBuffer() {}
3916 
3928  virtual bool testClassName_impl(const String& class_name) const
3929  {
3930  if (class_name == "Window") return true;
3931  return false;
3932  }
3933 
3945  void setParent(Window* parent);
3946 
3947  Size getSize_impl(const Window* window) const;
3948 
3953  void generateAutoRepeatEvent(MouseButton button);
3954 
3963  virtual bool validateWindowRenderer(const String& name) const;
3964 
3971  bool isPropertyAtDefault(const Property* property) const;
3972 
3978  void notifyClippingChanged(void);
3979 
3981  void allocateRenderingWindow();
3982 
3984  void releaseRenderingWindow();
3985 
3987  void initialiseClippers(const RenderingContext& ctx);
3988 
3993  virtual void cleanupChildren(void);
3994 
3999  virtual void addChild_impl(Window* wnd);
4000 
4005  virtual void removeChild_impl(Window* wnd);
4006 
4011  virtual void onZChange_impl(void);
4012 
4017  void addStandardProperties(void);
4018 
4027  virtual bool moveToFront_impl(bool wasClicked);
4028 
4059  void setArea_impl(const UVector2& pos, const UVector2& size,
4060  bool topLeftSizing = false, bool fireEvents = true);
4061 
4081  void addWindowToDrawList(Window& wnd, bool at_back = false);
4082 
4094  void removeWindowFromDrawList(const Window& wnd);
4095 
4107  bool isTopOfZOrder() const;
4108 
4114  void updateGeometryRenderSettings();
4115 
4117  void transferChildSurfaces();
4118 
4120  Rect getParentElementClipIntersection(const Rect& unclipped_area) const;
4121 
4123  void invalidate_impl(const bool recursive);
4124 
4126  bool isInnerRectSizeChanged() const;
4127 
4134  const Window* getWindowAttachedToCommonAncestor(const Window& wnd) const;
4135 
4137  virtual Rect getUnclippedOuterRect_impl() const;
4139  virtual Rect getOuterRectClipper_impl() const;
4141  virtual Rect getInnerRectClipper_impl() const;
4143  virtual Rect getHitTestRect_impl() const;
4145  virtual Rect getNonClientChildWindowContentArea_impl() const;
4147  virtual Rect getClientChildWindowContentArea_impl() const;
4148 
4149  virtual int writePropertiesXML(XMLSerializer& xml_stream) const;
4150  virtual int writeChildWindowsXML(XMLSerializer& xml_stream) const;
4151  virtual bool writeAutoChildWindowXML(XMLSerializer& xml_stream) const;
4152 
4153  // constrain given UVector2 to window's min size, return if size changed.
4154  bool constrainUVector2ToMinSize(const Size& base_sz, UVector2& sz);
4155  // constrain given UVector2 to window's max size, return if size changed.
4156  bool constrainUVector2ToMaxSize(const Size& base_sz, UVector2& sz);
4157 
4158  void markAllCachedRectsInvalid();
4160  void calculatePixelSize();
4162  void fireAreaChangeEvents(const bool moved, const bool sized);
4163 
4164  /*************************************************************************
4165  Properties for Window base class
4166  *************************************************************************/
4167  static WindowProperties::Alpha d_alphaProperty;
4168  static WindowProperties::AlwaysOnTop d_alwaysOnTopProperty;
4169  static WindowProperties::ClippedByParent d_clippedByParentProperty;
4170  static WindowProperties::DestroyedByParent d_destroyedByParentProperty;
4171  static WindowProperties::Disabled d_disabledProperty;
4172  static WindowProperties::Font d_fontProperty;
4173  static WindowProperties::ID d_IDProperty;
4174  static WindowProperties::InheritsAlpha d_inheritsAlphaProperty;
4175  static WindowProperties::MouseCursorImage d_mouseCursorProperty;
4176  static WindowProperties::RestoreOldCapture d_restoreOldCaptureProperty;
4177  static WindowProperties::Text d_textProperty;
4178  static WindowProperties::Visible d_visibleProperty;
4179  static WindowProperties::ZOrderChangeEnabled d_zOrderChangeProperty;
4180  static WindowProperties::WantsMultiClickEvents d_wantsMultiClicksProperty;
4181  static WindowProperties::MouseButtonDownAutoRepeat d_autoRepeatProperty;
4182  static WindowProperties::AutoRepeatDelay d_autoRepeatDelayProperty;
4183  static WindowProperties::AutoRepeatRate d_autoRepeatRateProperty;
4184  static WindowProperties::DistributeCapturedInputs d_distInputsProperty;
4185  static WindowProperties::CustomTooltipType d_tooltipTypeProperty;
4186  static WindowProperties::Tooltip d_tooltipProperty;
4187  static WindowProperties::InheritsTooltipText d_inheritsTooltipProperty;
4188  static WindowProperties::RiseOnClick d_riseOnClickProperty;
4189  static WindowProperties::VerticalAlignment d_vertAlignProperty;
4190  static WindowProperties::HorizontalAlignment d_horzAlignProperty;
4191  static WindowProperties::UnifiedAreaRect d_unifiedAreaRectProperty;
4192  static WindowProperties::UnifiedPosition d_unifiedPositionProperty;
4193  static WindowProperties::UnifiedXPosition d_unifiedXPositionProperty;
4194  static WindowProperties::UnifiedYPosition d_unifiedYPositionProperty;
4195  static WindowProperties::UnifiedSize d_unifiedSizeProperty;
4196  static WindowProperties::UnifiedWidth d_unifiedWidthProperty;
4197  static WindowProperties::UnifiedHeight d_unifiedHeightProperty;
4198  static WindowProperties::UnifiedMinSize d_unifiedMinSizeProperty;
4199  static WindowProperties::UnifiedMaxSize d_unifiedMaxSizeProperty;
4200  static WindowProperties::MousePassThroughEnabled d_mousePassThroughEnabledProperty;
4201  static WindowProperties::WindowRenderer d_windowRendererProperty;
4202  static WindowProperties::LookNFeel d_lookNFeelProperty;
4203  static WindowProperties::DragDropTarget d_dragDropTargetProperty;
4204  static WindowProperties::AutoRenderingSurface d_autoRenderingSurfaceProperty;
4205  static WindowProperties::Rotation d_rotationProperty;
4206  static WindowProperties::XRotation d_xRotationProperty;
4207  static WindowProperties::YRotation d_yRotationProperty;
4208  static WindowProperties::ZRotation d_zRotationProperty;
4209  static WindowProperties::NonClient d_nonClientProperty;
4210  static WindowProperties::TextParsingEnabled d_textParsingEnabledProperty;
4211  static WindowProperties::Margin d_marginProperty;
4212  static WindowProperties::UpdateMode d_updateModeProperty;
4213  static WindowProperties::MouseInputPropagationEnabled d_mouseInputPropagationProperty;
4214 
4215  /*************************************************************************
4216  Implementation Data
4217  *************************************************************************/
4219  typedef std::vector<Window*> ChildList;
4221  typedef std::map<String, String, String::FastLessCompare> UserStringMap;
4223  typedef std::set<String, String::FastLessCompare> BannedXMLPropertySet;
4224 
4233 
4243  bool d_active;
4244 
4253 
4258 
4268  mutable bool d_needsRedraw;
4271 
4274 
4276  float d_alpha;
4279 
4288 
4296  mutable bool d_bidiDataValid;
4309 
4312 
4314  uint d_ID;
4316  void* d_userData;
4319 
4326 
4343 
4346 
4355 
4360 
4375 
4386 
4387  mutable bool d_outerUnclippedRectValid;
4388  mutable bool d_innerUnclippedRectValid;
4389  mutable bool d_outerRectClipperValid;
4390  mutable bool d_innerRectClipperValid;
4391  mutable bool d_hitTestRectValid;
4392 
4397 
4398 
4399 private:
4400  /*************************************************************************
4401  May not copy or assign Window objects
4402  *************************************************************************/
4403  Window(const Window&) : PropertySet(), EventSet() {}
4404  Window& operator=(const Window&) {return *this;}
4405 };
4406 
4407 } // End of CEGUI namespace section
4408 
4409 
4410 #if defined(_MSC_VER)
4411 # pragma warning(pop)
4412 #endif
4413 
4414 #endif // end of guard _CEGUIWindow_h_
4415 
static const String EventDisabled
Definition: CEGUIWindow.h:222
Window * getChildAtIdx(size_t idx) const
return a pointer to the child window that is attached to &#39;this&#39; at the given index.
Definition: CEGUIWindow.h:790
static const String EventDragDropItemEnters
Definition: CEGUIWindow.h:305
bool d_nonClientContent
true if Window is in non-client (outside InnerRect) area of parent.
Definition: CEGUIWindow.h:4257
static const String AutoWidgetNameSuffix
Something that all generated widgets will have in their names.
Definition: CEGUIWindow.h:476
static const String EventDeactivated
Definition: CEGUIWindow.h:201
bool isCapturedByAncestor(void) const
return true if an ancestor window has captured inputs.
Definition: CEGUIWindow.h:1073
Property to access the unified position x-coordinate of the window.
Definition: CEGUIWindowProperties.h:777
bool d_bidiDataValid
whether bidi visual mapping has been updated since last text change.
Definition: CEGUIWindow.h:4296
Property to access the unified position y-coordinate of the window.
Definition: CEGUIWindowProperties.h:803
bool d_riseOnClick
whether window should rise in the z order when left clicked.
Definition: CEGUIWindow.h:4323
virtual void endInitialisation(void)
Sets the internal &#39;initialising&#39; flag to false. This is called automatically by the layout XML handle...
Definition: CEGUIWindow.h:2949
Property to access window Visible setting.
Definition: CEGUIWindowProperties.h:312
RenderingSurface * d_surface
RenderingSurface owned by this window (may be 0)
Definition: CEGUIWindow.h:4266
static const String EventVerticalAlignmentChanged
Definition: CEGUIWindow.h:326
static const String EventAlphaChanged
Definition: CEGUIWindow.h:182
Class used as a two dimensional vector (aka a Point)
Definition: CEGUIVector.h:45
static const String EventAlwaysOnTopChanged
Definition: CEGUIWindow.h:246
static const String EventTextChanged
Definition: CEGUIWindow.h:172
String d_falagardType
Type name of the window as defined in a Falagard mapping.
Definition: CEGUIWindow.h:4230
bool d_dragDropTarget
true if window will receive drag and drop related notifications
Definition: CEGUIWindow.h:4345
static const String EventMarginChanged
Definition: CEGUIWindow.h:368
static const String EventCharacterKey
Definition: CEGUIWindow.h:468
Property to access window Font setting.
Definition: CEGUIWindowProperties.h:114
Vector3 d_rotation
Rotation angles for this window.
Definition: CEGUIWindow.h:4374
std::set< String, String::FastLessCompare > BannedXMLPropertySet
definition of type used to track properties banned from writing XML.
Definition: CEGUIWindow.h:4223
static const String EventNamespace
Namespace for global events.
Definition: CEGUIWindow.h:145
Property to access the unified minimum size of the window.
Definition: CEGUIWindowProperties.h:911
void hide(void)
hide the Window.
Definition: CEGUIWindow.h:1784
static const String EventInputCaptureLost
Definition: CEGUIWindow.h:260
const String d_type
type of Window (also the name of the WindowFactory that created us)
Definition: CEGUIWindow.h:4226
static const String EventMouseButtonDown
Definition: CEGUIWindow.h:418
MouseButton d_repeatButton
button we&#39;re tracking for auto-repeat purposes.
Definition: CEGUIWindow.h:4338
Generic drag &amp; drop enabled window class.
Definition: CEGUIDragContainer.h:48
static const String EventKeyDown
Definition: CEGUIWindow.h:451
bool d_inheritsTipText
whether tooltip text may be inherited from parent.
Definition: CEGUIWindow.h:4354
Class used as a three dimensional vector.
Definition: CEGUIVector.h:130
bool isMousePassThroughEnabled(void) const
Returns whether this window should ignore mouse event and pass them through to and other windows behi...
Definition: CEGUIWindow.h:1512
static const String EventRenderingStarted
Definition: CEGUIWindow.h:268
virtual void beginInitialisation(void)
Sets the internal &#39;initialising&#39; flag to true. This can be use to optimize initialisation of some wid...
Definition: CEGUIWindow.h:2940
static const String EventMouseButtonUp
Definition: CEGUIWindow.h:423
Font * d_font
Holds pointer to the Window objects current Font.
Definition: CEGUIWindow.h:4290
bool d_allowWriteXML
true if this window is allowed to write XML, false if not
Definition: CEGUIWindow.h:4357
BannedXMLPropertySet d_bannedXMLProperties
collection of properties not to be written to XML for this window.
Definition: CEGUIWindow.h:4359
Area rectangle class built using unified dimensions (UDims).
Definition: CEGUIUDim.h:245
Property to access window Z-Order changing enabled setting.
Definition: CEGUIWindowProperties.h:398
static const String EventWindowUpdated
Definition: CEGUIWindow.h:151
bool d_visible
is window visible (i.e. it will be rendered, but may still be obscured)
Definition: CEGUIWindow.h:4241
Class that represents a single Image of an Imageset.
Definition: CEGUIImage.h:57
const BiDiVisualMapping * getBiDiVisualMapping() const
return the pointer to the BiDiVisualMapping for this window, if any.
Definition: CEGUIWindow.h:3153
String d_name
The name of the window (GUI system unique).
Definition: CEGUIWindow.h:4228
static System & getSingleton(void)
Return singleton System object.
static const String EventChildRemoved
Definition: CEGUIWindow.h:286
EventArgs based class used for certain drag/drop notifications.
Definition: CEGUIInputEvent.h:335
Property to control whether the window will receive autorepeat mouse button down events.
Definition: CEGUIWindowProperties.h:456
static const String EventMouseMove
Definition: CEGUIWindow.h:407
static BasicRenderedStringParser d_basicStringParser
Shared instance of a parser to be used in most instances.
Definition: CEGUIWindow.h:4302
static const String EventMouseLeaves
Definition: CEGUIWindow.h:402
String d_lookName
Name of the Look assigned to this window (if any).
Definition: CEGUIWindow.h:4260
Effectively a &#39;null&#39; parser that returns a RenderedString representation that will draw the input tex...
Definition: CEGUIDefaultRenderedStringParser.h:41
static const String EventInheritsAlphaChanged
Definition: CEGUIWindow.h:240
size_t size_type
Unsigned type used for size values and indices.
Definition: CEGUIString.h:64
uint d_ID
User ID assigned to this Window.
Definition: CEGUIWindow.h:4314
Definition: CEGUIWindow.h:81
float getAlpha(void) const
return the current alpha value set for this Window
Definition: CEGUIWindow.h:905
String d_textLogical
Holds the text / label / caption for this Window.
Definition: CEGUIWindow.h:4292
void * getUserData(void) const
Return the user data set for this Window.
Definition: CEGUIWindow.h:1185
UBox d_margin
Margin, only used when the Window is inside LayoutContainer class.
Definition: CEGUIWindow.h:4311
static const String EventClippedByParentChanged
Definition: CEGUIWindow.h:228
Rect d_innerRectClipper
inner area clipping rect in screen pixels
Definition: CEGUIWindow.h:4383
Property to access window Restore Old Capture setting.
Definition: CEGUIWindowProperties.h:342
Property to access the unified width of the window.
Definition: CEGUIWindowProperties.h:857
Base class for Tooltip widgets.
Definition: CEGUITooltip.h:81
bool d_destructionStarted
true when this window is being destroyed.
Definition: CEGUIWindow.h:4237
bool isCapturedByChild(void) const
return true if a child window has captured inputs.
Definition: CEGUIWindow.h:1084
bool d_weOwnTip
true if this Window created the custom Tooltip.
Definition: CEGUIWindow.h:4352
String d_tooltipText
Text string used as tip for this window.
Definition: CEGUIWindow.h:4348
std::vector< Window * > ChildList
definition of type used for the list of attached child windows.
Definition: CEGUIWindow.h:4219
Property to access the unified height of the window.
Definition: CEGUIWindowProperties.h:883
bool isClippedByParent(void) const
return true if this Window is clipped so that its rendering will not pass outside of its parent Windo...
Definition: CEGUIWindow.h:594
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: CEGUIGeometryBuffer.h:42
struct that holds some context relating to a RenderingSurface object.
Definition: CEGUIRenderingContext.h:40
bool restoresOldCapture(void) const
Return whether this window is set to restore old input capture when it loses input capture...
Definition: CEGUIWindow.h:1201
static const String EventMouseTripleClick
Definition: CEGUIWindow.h:442
Class that holds the size (width &amp; height) of something.
Definition: CEGUISize.h:43
virtual bool testClassName_impl(const String &class_name) const
Return whether this window was inherited from the given class name at some point in the inheritance h...
Definition: CEGUIWindow.h:3928
static const String EventActivated
Definition: CEGUIWindow.h:194
static const String EventRenderingEnded
Definition: CEGUIWindow.h:276
Property to control whether the window will receive double/triple-click events.
Definition: CEGUIWindowProperties.h:427
static const String EventWindowRendererAttached
Definition: CEGUIWindow.h:338
MouseButton
Enumeration of mouse buttons.
Definition: CEGUIInputEvent.h:204
void disable(void)
disable the Window to prevent interaction.
Definition: CEGUIWindow.h:1739
BiDiVisualMapping * d_bidiVisualMapping
pointer to bidirection support object
Definition: CEGUIWindow.h:4294
Property to access window autorepeat rate value.
Definition: CEGUIWindowProperties.h:510
bool testClassName(const String &class_name) const
Return whether this window was inherited from the given class name at some point in the inheritance h...
Definition: CEGUIWindow.h:1368
static const String EventHorizontalAlignmentChanged
Definition: CEGUIWindow.h:332
Only call the Window::update function for this window if it is visible.
Definition: CEGUIWindow.h:122
bool d_autoRepeat
whether pressed mouse button will auto-repeat the down event.
Definition: CEGUIWindow.h:4332
The WindowManager class describes an object that manages creation and lifetime of Window objects...
Definition: CEGUIWindowManager.h:61
Property to access the tooltip text for this Window.
Definition: CEGUIWindowProperties.h:584
Class that contains a collection of Property objects.
Definition: CEGUIPropertySet.h:52
static const String EventDragDropItemDropped
Definition: CEGUIWindow.h:320
Window * d_parent
Holds pointer to the parent window.
Definition: CEGUIWindow.h:4250
bool d_needsRedraw
true if window geometry cache needs to be regenerated.
Definition: CEGUIWindow.h:4268
Base class constant iterator used to offer iteration over various collections within the system...
Definition: CEGUIIteratorBase.h:47
bool isAlwaysOnTop(void) const
returns whether or not this Window is an always on top Window. Also known as a top-most window...
Definition: CEGUIWindow.h:535
bool d_distCapturedInputs
Whether to distribute captured inputs to child windows.
Definition: CEGUIWindow.h:4287
ChildList d_children
The list of child Window objects attached to this.
Definition: CEGUIWindow.h:4246
Always call the Window::update function for this window.
Definition: CEGUIWindow.h:118
static const String EventHidden
Definition: CEGUIWindow.h:211
static const String EventShown
Definition: CEGUIWindow.h:206
Property to access whether the window rises to the top of the z order when clicked.
Definition: CEGUIWindowProperties.h:637
bool d_mousePassThroughEnabled
whether (most) mouse events pass through this window
Definition: CEGUIWindow.h:4330
Property to access the unified position of the window.
Definition: CEGUIWindowProperties.h:831
bool d_zOrderingEnabled
true if the Window responds to z-order change requests.
Definition: CEGUIWindow.h:4325
Class representing a rendered string of entities.
Definition: CEGUIRenderedString.h:50
UVector2 d_minSize
current minimum size for the window.
Definition: CEGUIWindow.h:4366
static const String EventMouseEntersArea
Definition: CEGUIWindow.h:375
static const String EventInputCaptureGained
Definition: CEGUIWindow.h:251
uint getID(void) const
return the ID code currently assigned to this Window by client code.
Definition: CEGUIWindow.h:603
Base-class for the assignable WindowRenderer object.
Definition: CEGUIWindowRenderer.h:51
Definition: CEGUIWindow.h:104
static const String EventIDChanged
Definition: CEGUIWindow.h:187
Property to access the rotation factors of the window.
Definition: CEGUIWindowProperties.h:1107
void show(void)
show the Window.
Definition: CEGUIWindow.h:1772
Property to access window autorepeat delay value.
Definition: CEGUIWindowProperties.h:483
virtual void initialiseComponents(void)
Initialises the Window based object ready for use.
Definition: CEGUIWindow.h:1678
Property to access the vertical alignment setting for the window.
Definition: CEGUIWindowProperties.h:664
Property to access window text setting.
Definition: CEGUIWindowProperties.h:142
static const String EventSized
Definition: CEGUIWindow.h:162
Abstract class to wrap a BiDi visual mapping of a text string.
Definition: CEGUIBiDiVisualMapping.h:51
bool isAutoWindow(void) const
Returns whether this window is an auto-child window. All auto-child windows have &quot;__auto_&quot; in their n...
Definition: CEGUIWindow.h:1519
Property to access window margin.
Definition: CEGUIWindowProperties.h:1280
Definition: CEGUIWindow.h:71
Property to access window &quot;Inherits Alpha&quot; setting.
Definition: CEGUIWindowProperties.h:227
EventArgs based class that is used for objects passed to input event handlers concerning keyboard inp...
Definition: CEGUIInputEvent.h:308
Property to access window Destroyed by Parent setting.
Definition: CEGUIWindowProperties.h:370
VerticalAlignment d_vertAlign
Specifies the base for vertical alignment.
Definition: CEGUIWindow.h:4372
RenderedStringParser * d_customStringParser
Pointer to a custom (user assigned) RenderedStringParser object.
Definition: CEGUIWindow.h:4306
float d_repeatDelay
seconds before first repeat event is fired
Definition: CEGUIWindow.h:4334
size_t getChildCount(void) const
return the number of child Window objects currently attached to this Window.
Definition: CEGUIWindow.h:614
Property to access the y axis rotation factor of the window.
Definition: CEGUIWindowProperties.h:1159
Property to access the x axis rotation factor of the window.
Definition: CEGUIWindowProperties.h:1133
bool d_active
true when Window is the active Window (receiving inputs).
Definition: CEGUIWindow.h:4243
static const String EventZOrderChanged
Definition: CEGUIWindow.h:297
static const String EventMouseEnters
Definition: CEGUIWindow.h:391
Property to access the z axis rotation factor of the window.
Definition: CEGUIWindowProperties.h:1185
bool isWritingXMLAllowed(void) const
Returns whether this window is allowed to write XML.
Definition: CEGUIWindow.h:1525
Class encapsulating the &#39;Unified Box&#39; - this is usually used for margin.
Definition: CEGUIUDim.h:351
static const String EventTextParsingChanged
Definition: CEGUIWindow.h:362
Property to access the unified area rectangle of the window.
Definition: CEGUIWindowProperties.h:723
Class that encapsulates a typeface.
Definition: CEGUIFont.h:58
static DefaultRenderedStringParser d_defaultStringParser
Shared instance of a parser to be used when rendering text verbatim.
Definition: CEGUIWindow.h:4304
UVector2 d_maxSize
current maximum size for the window.
Definition: CEGUIWindow.h:4368
static const String EventDestructionStarted
Definition: CEGUIWindow.h:291
static const String EventDragDropItemLeaves
Definition: CEGUIWindow.h:313
void setWritingXMLAllowed(bool allow)
Sets whether this window is allowed to write XML.
Definition: CEGUIWindow.h:3001
VerticalAlignment getVerticalAlignment() const
Get the vertical alignment.
Definition: CEGUIWindow.h:1381
bool d_propagateMouseInputs
specifies whether mouse inputs should be propagated to parent(s)
Definition: CEGUIWindow.h:4396
void * d_userData
Holds pointer to some user assigned data.
Definition: CEGUIWindow.h:4316
MouseCursorImage
Enumeration of special values used for mouse cursor settings in Window objects.
Definition: CEGUIMouseCursor.h:57
bool d_autoWindow
true when this window is an auto-window (it&#39;s name contains __auto_)
Definition: CEGUIWindow.h:4232
Property to access/change the assigned window renderer object.
Definition: CEGUIWindowProperties.h:989
void enable(void)
enable the Window to allow interaction.
Definition: CEGUIWindow.h:1730
static const String EventMouseWheel
Definition: CEGUIWindow.h:413
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: CEGUIWindow.h:138
bool d_restoreOldCapture
Restore capture to the previous capture window when releasing capture.
Definition: CEGUIWindow.h:4285
const String & getText(void) const
return the current text for the Window
Definition: CEGUIWindow.h:873
Property to access window text parsing enabled setting.
Definition: CEGUIWindowProperties.h:1244
Property to access window ID field.
Definition: CEGUIWindowProperties.h:60
void setUserData(void *user_data)
Set the user data set for this Window.
Definition: CEGUIWindow.h:2208
static const String EventMouseClick
Definition: CEGUIWindow.h:430
static const String EventParentSized
Definition: CEGUIWindow.h:157
bool d_wantsMultiClicks
true if the Window wishes to hear about multi-click mouse events.
Definition: CEGUIWindow.h:4328
Rect d_outerUnclippedRect
outer area rect in screen pixels
Definition: CEGUIWindow.h:4377
Property to access whether the window ignores mouse events and pass them through to any windows behin...
Definition: CEGUIWindowProperties.h:965
bool inheritsAlpha(void) const
return true if the Window inherits alpha from its parent(s).
Definition: CEGUIWindow.h:886
Property to get/set whether the Window will automatically attempt to use a full imagery caching Rende...
Definition: CEGUIWindowProperties.h:1073
Class that represents a surface that can have geometry based imagery drawn to it. ...
Definition: CEGUIRenderingSurface.h:109
const String & getName(void) const
return a String object holding the name of this Window.
Definition: CEGUIWindow.h:513
Basic RenderedStringParser class that offers support for the following tags:
Definition: CEGUIBasicRenderedStringParser.h:65
Size getPixelSize(void) const
Return the window size in pixels.
Definition: CEGUIWindow.h:1172
void setMousePassThroughEnabled(bool setting)
Sets whether this window should ignore mouse events and pass them through to any windows behind it...
Definition: CEGUIWindow.h:2961
Definition: CEGUIWindow.h:76
void setRiseOnClickEnabled(bool setting)
Set whether this window will rise to the top of the z-order when clicked with the left mouse button...
Definition: CEGUIWindow.h:2426
Class that collects together a set of Event objects.
Definition: CEGUIEventSet.h:66
Property to access the unified position of the window.
Definition: CEGUIWindowProperties.h:751
Property to access window &quot;clipped by parent&quot; setting.
Definition: CEGUIWindowProperties.h:199
static const String EventFontChanged
Definition: CEGUIWindow.h:177
bool d_enabled
true when Window is enabled
Definition: CEGUIWindow.h:4239
RenderedString d_renderedString
RenderedString representation of text string as ouput from a parser.
Definition: CEGUIWindow.h:4298
static const String TooltipNameSuffix
Widget name suffix for automatically created tooltip widgets.
Definition: CEGUIWindow.h:474
bool d_inheritsAlpha
true if the Window inherits alpha from the parent Window
Definition: CEGUIWindow.h:4278
bool d_autoRenderingWindow
holds setting for automatic creation of of surface (RenderingWindow)
Definition: CEGUIWindow.h:4270
static Window * d_captureWindow
Window that has captured inputs.
Definition: CEGUIWindow.h:4281
std::map< String, String, String::FastLessCompare > UserStringMap
definition of type used for the UserString dictionary.
Definition: CEGUIWindow.h:4221
ChildList d_drawList
Child window objects arranged in rendering order.
Definition: CEGUIWindow.h:4248
Specifies interface for classes that parse text into RenderedString objects.
Definition: CEGUIRenderedStringParser.h:37
Property to access window mouse cursor setting.
Definition: CEGUIWindowProperties.h:170
GeometryBuffer * d_geometry
Object which acts as a cache of geometry drawn by this Window.
Definition: CEGUIWindow.h:4264
Definition: CEGUIWindow.h:99
Property to access the horizontal alignment setting for the window.
Definition: CEGUIWindowProperties.h:691
static const String EventMouseLeavesArea
Definition: CEGUIWindow.h:380
URect d_area
This Window objects area as defined by a URect.
Definition: CEGUIWindow.h:4362
static const String EventWindowRendererDetached
Definition: CEGUIWindow.h:344
static const String EventKeyUp
Definition: CEGUIWindow.h:460
Tooltip * d_customTip
Possible custom Tooltip for this window.
Definition: CEGUIWindow.h:4350
bool d_clippedByParent
true when Window will be clipped by parent Window area Rect.
Definition: CEGUIWindow.h:4255
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition: CEGUIInputEvent.h:245
Property to access window Disabled setting.
Definition: CEGUIWindowProperties.h:283
UserStringMap d_userStrings
Holds a collection of named user string values.
Definition: CEGUIWindow.h:4318
Property to access window non-client setting.
Definition: CEGUIWindowProperties.h:1213
static const String EventChildAdded
Definition: CEGUIWindow.h:281
Property to access the custom tooltip for this Window.
Definition: CEGUIWindowProperties.h:560
Property to access the update mode setting for the window.
Definition: CEGUIWindowProperties.h:1308
Class representing a unified dimension; that is a dimension that has both a relative &#39;scale&#39; portion ...
Definition: CEGUIUDim.h:47
EventArgs based class that is used for objects passed to input event handlers concerning mouse input...
Definition: CEGUIInputEvent.h:274
Property to access the unified maximum size of the window.
Definition: CEGUIWindowProperties.h:939
Rect d_hitTestRect
area rect used for hit-testing agains this window
Definition: CEGUIWindow.h:4385
An abstract class that defines the interface to access object properties by name. ...
Definition: CEGUIProperty.h:61
static const String EventMoved
Definition: CEGUIWindow.h:167
Size d_pixelSize
Current constrained pixel size of the window.
Definition: CEGUIWindow.h:4364
Rect d_innerUnclippedRect
inner area rect in screen pixels
Definition: CEGUIWindow.h:4379
Definition: CEGUIWindow.h:94
bool isRiseOnClickEnabled(void) const
Return whether this window will rise to the top of the z-order when clicked with the left mouse butto...
Definition: CEGUIWindow.h:1355
Property to access the setting that controls whether mouse input not handled directly by the window w...
Definition: CEGUIWindowProperties.h:1337
bool isCapturedByThis(void) const
return true if this Window has input captured.
Definition: CEGUIWindow.h:1062
WindowUpdateMode
Enumerated type used for specifying Window::update mode to be used. Note that the setting specified w...
Definition: CEGUIWindow.h:115
WindowUpdateMode d_updateMode
The mode to use for calling Window::update.
Definition: CEGUIWindow.h:4394
The System class is the CEGUI class that provides access to all other elements in this system...
Definition: CEGUISystem.h:64
bool d_destroyedByParent
true when Window will be auto-destroyed by parent.
Definition: CEGUIWindow.h:4252
bool getModalState(void) const
Get whether or not this Window is the modal target.
Definition: CEGUIWindow.h:1421
bool d_textParsingEnabled
true if use of parser other than d_defaultStringParser is enabled
Definition: CEGUIWindow.h:4308
static const String EventMouseDoubleClick
Definition: CEGUIWindow.h:436
HorizontalAlignment d_horzAlign
Specifies the base for horizontal alignment.
Definition: CEGUIWindow.h:4370
bool d_alwaysOnTop
true if Window will be drawn on top of all other Windows
Definition: CEGUIWindow.h:4321
Rect d_outerRectClipper
outer area clipping rect in screen pixels
Definition: CEGUIWindow.h:4381
bool d_initialising
true when this window is currently being initialised (creating children etc)
Definition: CEGUIWindow.h:4235
HorizontalAlignment getHorizontalAlignment() const
Get the horizontal alignment.
Definition: CEGUIWindow.h:1393
float d_repeatRate
secons between further repeats after delay has expired.
Definition: CEGUIWindow.h:4336
static Window * getCaptureWindow(void)
return the Window that currently has inputs captured.
Definition: CEGUIWindow.h:1052
Property to access window alpha setting.
Definition: CEGUIWindowProperties.h:87
Class used to create XML Document.
Definition: CEGUIXMLSerializer.h:86
Property to access/change the assigned look&#39;n&#39;feel.
Definition: CEGUIWindowProperties.h:1015
VerticalAlignment
Enumerated type used when specifying vertical alignments.
Definition: CEGUIWindow.h:65
Never call the Window::update function for this window.
Definition: CEGUIWindow.h:120
WindowRenderer * d_windowRenderer
The WindowRenderer module that implements the Look&#39;N&#39;Feel specification.
Definition: CEGUIWindow.h:4262
static const String EventDestroyedByParentChanged
Definition: CEGUIWindow.h:234
bool d_renderedStringValid
true if d_renderedString is valid, false if needs re-parse.
Definition: CEGUIWindow.h:4300
Window * getParent(void) const
return the parent of this Window.
Definition: CEGUIWindow.h:1147
bool d_repeating
implements repeating - is true after delay has elapsed,
Definition: CEGUIWindow.h:4340
static const String EventNonClientChanged
Definition: CEGUIWindow.h:355
float d_repeatElapsed
implements repeating - tracks time elapsed.
Definition: CEGUIWindow.h:4342
virtual void populateGeometryBuffer()
Update the rendering cache.
Definition: CEGUIWindow.h:3915
Window * d_oldCapture
The Window that previously had capture (used for restoreOldCapture mode)
Definition: CEGUIWindow.h:4283
float d_alpha
Alpha transparency setting for the Window.
Definition: CEGUIWindow.h:4276
Property to get/set whether the Window will receive drag and drop related notifications.
Definition: CEGUIWindowProperties.h:1043
Property to access whether the window inherits its tooltip text from its parent when it has no toolti...
Definition: CEGUIWindowProperties.h:611
Property to access whether inputs are passed to child windows when input is captured to this window...
Definition: CEGUIWindowProperties.h:536
EventArgs based class that is used for Activated and Deactivated window events.
Definition: CEGUIInputEvent.h:323
Property to access window &quot;Always-On-Top&quot; setting.
Definition: CEGUIWindowProperties.h:255
HorizontalAlignment
Enumerated type used when specifying horizontal alignments.
Definition: CEGUIWindow.h:88
Class encapsulating operations on a Rectangle.
Definition: CEGUIRect.h:44
static const String EventEnabled
Definition: CEGUIWindow.h:216
const Image * d_mouseCursor
Holds pointer to the Window objects current mouse cursor image.
Definition: CEGUIWindow.h:4273
String class used within the GUI system.
Definition: CEGUIString.h:57
bool isDestroyedByParent(void) const
returns whether or not this Window is set to be destroyed when its parent window is destroyed...
Definition: CEGUIWindow.h:524
static const String EventRotated
Definition: CEGUIWindow.h:349
Two dimensional vector class built using unified dimensions (UDims). The UVector2 class is used for r...
Definition: CEGUIUDim.h:128