30 #ifndef _CEGUIWindow_h_
31 #define _CEGUIWindow_h_
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 "CEGUIRenderCache.h"
45 #include "CEGUIWindowRenderer.h"
51 # pragma warning(push)
52 # pragma warning(disable : 4251)
260 const String& getType(
void)
const;
311 bool isDisabled(
bool localOnly =
false)
const;
329 bool isVisible(
bool localOnly =
false)
const;
345 bool isActive(
void)
const;
365 uint
getID(
void)
const {
return d_ID;}
390 bool isChild(
const String& name)
const;
408 bool isChild(uint ID)
const;
430 bool isChildRecursive(uint ID)
const;
443 bool isChild(
const Window* window)
const;
491 Window* getChild(uint ID)
const;
514 Window* getChildRecursive(uint ID)
const;
543 Window* getActiveChild(
void);
544 const Window* getActiveChild(
void)
const;
559 bool isAncestor(
const String& name)
const;
574 bool isAncestor(uint ID)
const;
588 bool isAncestor(
const Window* window)
const;
603 Font* getFont(
bool useDefault =
true)
const;
652 float getEffectiveAlpha(
void)
const;
667 Rect getPixelRect(
void)
const;
682 virtual Rect getPixelRect_impl(
void)
const;
692 Rect getInnerRect(
void)
const;
704 Rect getUnclippedPixelRect(
void)
const;
717 Rect getUnclippedInnerRect(
void)
const;
730 virtual Rect getUnclippedInnerRect_impl(
void)
const;
761 bool isCapturedByAncestor(
void)
const
762 {
return isAncestor(getCaptureWindow());}
786 virtual bool isHit(
const Vector2& position)
const;
815 Window* getTargetChildAtPosition(
const Vector2& position)
const;
841 const Image* getMouseCursor(
bool useDefault =
true)
const;
891 bool isZOrderingEnabled(
void)
const;
903 bool wantsMultiClickEvents(
void)
const;
916 bool isMouseAutoRepeatEnabled(
void)
const;
926 float getAutoRepeatDelay(
void)
const;
937 float getAutoRepeatRate(
void)
const;
948 bool distributesCapturedInputs(
void)
const;
959 bool isUsingDefaultTooltip(
void)
const;
970 Tooltip* getTooltip(
void)
const;
980 String getTooltipType(
void)
const;
989 const String& getTooltipText(
void)
const;
1002 bool inheritsTooltipText(
void)
const;
1028 bool testClassName(
const String& class_name)
const
1029 {
return testClassName_impl(class_name);}
1072 const String& getLookNFeel()
const;
1081 bool getModalState(
void)
const
1110 bool isUserStringDefined(
const String& name)
const;
1127 Window* getActiveSibling();
1138 Size getParentPixelSize(
void)
const;
1149 float getParentPixelWidth(
void)
const;
1160 float getParentPixelHeight(
void)
const;
1244 bool isDragDropTarget()
const;
1259 void rename(
const String& new_name);
1287 void setDestroyedByParent(
bool setting);
1301 void setAlwaysOnTop(
bool setting);
1315 void setEnabled(
bool setting);
1352 void setVisible(
bool setting);
1366 void show(
void) {setVisible(
true);}
1378 void hide(
void) {setVisible(
false);}
1388 void activate(
void);
1399 void deactivate(
void);
1413 void setClippedByParent(
bool setting);
1426 void setID(uint ID);
1444 void setText(
const String& text);
1470 void appendText(
const String& text);
1483 void setFont(
Font* font);
1499 void setFont(
const String& name);
1519 void addChildWindow(
const String& name);
1537 void addChildWindow(
Window* window);
1550 void removeChildWindow(
const String& name);
1563 void removeChildWindow(
Window* window);
1578 void removeChildWindow(uint ID);
1620 bool captureInput(
void);
1630 void releaseInput(
void);
1650 void setRestoreCapture(
bool setting);
1672 void setAlpha(
float alpha);
1685 void setInheritsAlpha(
bool setting);
1695 void requestRedraw(
void)
const;
1721 {d_mouseCursor = (
const Image*)image;}
1742 void setMouseCursor(
const String& imageset,
const String& image_name);
1773 void setZOrderingEnabled(
bool setting);
1788 void setWantsMultiClickEvents(
bool setting);
1802 void setMouseAutoRepeatEnabled(
bool setting);
1815 void setAutoRepeatDelay(
float delay);
1829 void setAutoRepeatRate(
float rate);
1840 void setDistributesCapturedInputs(
bool setting);
1876 virtual void destroy(
void);
1893 void setTooltip(
Tooltip* tooltip);
1913 void setTooltipType(
const String& tooltipType);
1926 void setTooltipText(
const String& tip);
1942 void setInheritsTooltipText(
bool setting);
2006 virtual void setLookNFeel(
const String& look);
2021 void setModalState(
bool state);
2033 virtual void performChildWindowLayout();
2048 void setUserString(
const String& name,
const String& value);
2076 void setArea(
const UDim& xpos,
const UDim& ypos,
const UDim& width,
const UDim& height);
2118 void setArea(
const URect& area);
2138 void setPosition(
const UVector2& pos);
2157 void setXPosition(
const UDim& x);
2176 void setYPosition(
const UDim& y);
2192 void setSize(
const UVector2& size);
2208 void setWidth(
const UDim& width);
2224 void setHeight(
const UDim& height);
2242 void setMaxSize(
const UVector2& size);
2260 void setMinSize(
const UVector2& size);
2279 const URect& getArea()
const;
2298 const UVector2& getPosition()
const;
2317 const UDim& getXPosition()
const;
2336 const UDim& getYPosition()
const;
2368 UDim getWidth()
const;
2384 UDim getHeight()
const;
2402 const UVector2& getMaxSize()
const;
2420 const UVector2& getMinSize()
const;
2450 void update(
float elapsed);
2462 virtual void writeXMLToStream(
XMLSerializer& xml_stream)
const;
2506 void setWindowRenderer(
const String& name);
2527 String getWindowRendererName(
void)
const;
2539 void notifyScreenAreaChanged(
void);
2552 void setFalagardType(
const String& type,
const String& rendererType =
"");
2563 void setDragDropTarget(
bool setting);
3074 virtual void updateSelf(
float elapsed);
3087 virtual void drawSelf(
float z);
3109 virtual bool testClassName_impl(
const String& class_name)
const
3111 if (class_name==
"Window")
return true;
3126 void setParent(
Window* parent);
3128 Size getSize_impl(
const Window* window)
const;
3144 virtual bool validateWindowRenderer(
const String& name)
const;
3150 void banPropertyFromXML(
const Property* property);
3156 bool isPropertyBannedFromXML(
const Property* property)
const;
3164 bool isPropertyAtDefault(
const Property* property)
const;
3171 void notifyClippingChanged(
void);
3177 typedef std::vector<Window*> ChildList;
3216 typedef std::map<String, String, String::FastLessCompare> UserStringMap;
3376 mutable bool d_screenUnclippedRectValid;
3379 mutable bool d_screenUnclippedInnerRectValid;
3382 mutable bool d_screenRectValid;
3385 mutable bool d_screenInnerRectValid;
3436 virtual void cleanupChildren(
void);
3442 virtual void addChild_impl(
Window* wnd);
3448 virtual void removeChild_impl(
Window* wnd);
3454 virtual void onZChange_impl(
void);
3460 void addStandardProperties(
void);
3470 virtual bool moveToFront_impl(
bool wasClicked);
3479 bool doRiseOnClick(
void);
3511 void setArea_impl(
const UVector2& pos,
const UVector2& size,
bool topLeftSizing =
false,
bool fireEvents =
true);
3532 void addWindowToDrawList(
Window& wnd,
bool at_back =
false);
3545 void removeWindowFromDrawList(
const Window& wnd);
3558 bool isTopOfZOrder()
const;
3560 virtual int writePropertiesXML(
XMLSerializer& xml_stream)
const;
3561 virtual int writeChildWindowsXML(
XMLSerializer& xml_stream)
const;
3562 virtual bool writeAutoChildWindowXML(
XMLSerializer& xml_stream)
const;
3595 #if defined(_MSC_VER)
3596 # pragma warning(pop)
3599 #endif // end of guard _CEGUIWindow_h_