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_