CEGUI.h | CEGUI.h | |||
---|---|---|---|---|
skipping to change at line 34 | skipping to change at line 34 | |||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | |||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |||
* OTHER DEALINGS IN THE SOFTWARE. | * OTHER DEALINGS IN THE SOFTWARE. | |||
************************************************************************** */ | ************************************************************************** */ | |||
#ifndef _CEGUI_h_ | #ifndef _CEGUI_h_ | |||
#define _CEGUI_h_ | #define _CEGUI_h_ | |||
// base stuff | // base stuff | |||
#include "CEGUIAffector.h" | ||||
#include "CEGUIAnimation.h" | ||||
#include "CEGUIAnimationInstance.h" | ||||
#include "CEGUIAnimationManager.h" | ||||
#include "CEGUIBasicInterpolators.h" | ||||
#include "CEGUIBasicRenderedStringParser.h" | #include "CEGUIBasicRenderedStringParser.h" | |||
#include "CEGUIBiDiVisualMapping.h" | #include "CEGUIBiDiVisualMapping.h" | |||
#include "CEGUICentredRenderedString.h" | #include "CEGUICentredRenderedString.h" | |||
#include "CEGUIcolour.h" | #include "CEGUIcolour.h" | |||
#include "CEGUIColourRect.h" | #include "CEGUIColourRect.h" | |||
#include "CEGUICoordConverter.h" | #include "CEGUICoordConverter.h" | |||
#include "CEGUIDataContainer.h" | #include "CEGUIDataContainer.h" | |||
#include "CEGUIDefaultLogger.h" | #include "CEGUIDefaultLogger.h" | |||
#include "CEGUIDefaultRenderedStringParser.h" | #include "CEGUIDefaultRenderedStringParser.h" | |||
#include "CEGUIDefaultResourceProvider.h" | #include "CEGUIDefaultResourceProvider.h" | |||
#include "CEGUIDynamicModule.h" | #include "CEGUIDynamicModule.h" | |||
#include "CEGUIExceptions.h" | #include "CEGUIExceptions.h" | |||
#include "CEGUIFactoryModule.h" | #include "CEGUIFactoryModule.h" | |||
#include "CEGUIFontManager.h" | #include "CEGUIFontManager.h" | |||
#include "CEGUIGeometryBuffer.h" | #include "CEGUIGeometryBuffer.h" | |||
#include "CEGUIGlobalEventSet.h" | #include "CEGUIGlobalEventSet.h" | |||
#include "CEGUIImageCodec.h" | #include "CEGUIImageCodec.h" | |||
#include "CEGUIImagesetManager.h" | #include "CEGUIImagesetManager.h" | |||
#include "CEGUIInputEvent.h" | #include "CEGUIInputEvent.h" | |||
#include "CEGUIInterpolator.h" | ||||
#include "CEGUIJustifiedRenderedString.h" | #include "CEGUIJustifiedRenderedString.h" | |||
#include "CEGUIKeyFrame.h" | ||||
#include "CEGUILeftAlignedRenderedString.h" | #include "CEGUILeftAlignedRenderedString.h" | |||
#include "CEGUIMouseCursor.h" | #include "CEGUIMouseCursor.h" | |||
#include "CEGUIPropertyHelper.h" | #include "CEGUIPropertyHelper.h" | |||
#include "CEGUIPropertySet.h" | #include "CEGUIPropertySet.h" | |||
#include "CEGUIRect.h" | #include "CEGUIRect.h" | |||
#include "CEGUIRegexMatcher.h" | #include "CEGUIRegexMatcher.h" | |||
#include "CEGUIRenderedString.h" | #include "CEGUIRenderedString.h" | |||
#include "CEGUIRenderedStringImageComponent.h" | #include "CEGUIRenderedStringImageComponent.h" | |||
#include "CEGUIRenderedStringParser.h" | #include "CEGUIRenderedStringParser.h" | |||
#include "CEGUIRenderedStringTextComponent.h" | #include "CEGUIRenderedStringTextComponent.h" | |||
#include "CEGUIRenderedStringWidgetComponent.h" | #include "CEGUIRenderedStringWidgetComponent.h" | |||
#include "CEGUIRenderedStringWordWrapper.h" | #include "CEGUIRenderedStringWordWrapper.h" | |||
#include "CEGUIRenderEffect.h" | #include "CEGUIRenderEffect.h" | |||
#include "CEGUIRenderEffectManager.h" | ||||
#include "CEGUIRenderer.h" | #include "CEGUIRenderer.h" | |||
#include "CEGUIRenderingContext.h" | #include "CEGUIRenderingContext.h" | |||
#include "CEGUIRenderingRoot.h" | #include "CEGUIRenderingRoot.h" | |||
#include "CEGUIRenderingSurface.h" | #include "CEGUIRenderingSurface.h" | |||
#include "CEGUIRenderingWindow.h" | #include "CEGUIRenderingWindow.h" | |||
#include "CEGUIRenderQueue.h" | #include "CEGUIRenderQueue.h" | |||
#include "CEGUIRenderTarget.h" | #include "CEGUIRenderTarget.h" | |||
#include "CEGUIRightAlignedRenderedString.h" | #include "CEGUIRightAlignedRenderedString.h" | |||
#include "CEGUISchemeManager.h" | #include "CEGUISchemeManager.h" | |||
#include "CEGUIScriptModule.h" | #include "CEGUIScriptModule.h" | |||
End of changes. 4 change blocks. | ||||
0 lines changed or deleted | 8 lines changed or added | |||
CEGUIAll.h | CEGUIAll.h | |||
---|---|---|---|---|
skipping to change at line 38 | skipping to change at line 38 | |||
#ifndef _CEGUIAll_h_ | #ifndef _CEGUIAll_h_ | |||
#define _CEGUIAll_h_ | #define _CEGUIAll_h_ | |||
#include "CEGUICheckbox.h" | #include "CEGUICheckbox.h" | |||
#include "CEGUIClippedContainer.h" | #include "CEGUIClippedContainer.h" | |||
#include "CEGUICombobox.h" | #include "CEGUICombobox.h" | |||
#include "CEGUIComboDropList.h" | #include "CEGUIComboDropList.h" | |||
#include "CEGUIDragContainer.h" | #include "CEGUIDragContainer.h" | |||
#include "CEGUIEditbox.h" | #include "CEGUIEditbox.h" | |||
#include "CEGUIFrameWindow.h" | #include "CEGUIFrameWindow.h" | |||
#include "CEGUIGridLayoutContainer.h" | ||||
#include "CEGUIGroupBox.h" | #include "CEGUIGroupBox.h" | |||
#include "CEGUIGUISheet.h" | #include "CEGUIGUISheet.h" | |||
#include "CEGUIHorizontalLayoutContainer.h" | ||||
#include "CEGUIItemEntry.h" | #include "CEGUIItemEntry.h" | |||
#include "CEGUIItemListbox.h" | #include "CEGUIItemListbox.h" | |||
#include "CEGUIListbox.h" | #include "CEGUIListbox.h" | |||
#include "CEGUIListboxItem.h" | #include "CEGUIListboxItem.h" | |||
#include "CEGUIListboxTextItem.h" | #include "CEGUIListboxTextItem.h" | |||
#include "CEGUIListHeader.h" | #include "CEGUIListHeader.h" | |||
#include "CEGUIMenubar.h" | #include "CEGUIMenubar.h" | |||
#include "CEGUIMenuItem.h" | #include "CEGUIMenuItem.h" | |||
#include "CEGUIMultiColumnList.h" | #include "CEGUIMultiColumnList.h" | |||
#include "CEGUIMultiLineEditbox.h" | #include "CEGUIMultiLineEditbox.h" | |||
skipping to change at line 66 | skipping to change at line 68 | |||
#include "CEGUIScrolledContainer.h" | #include "CEGUIScrolledContainer.h" | |||
#include "CEGUISlider.h" | #include "CEGUISlider.h" | |||
#include "CEGUISpinner.h" | #include "CEGUISpinner.h" | |||
#include "CEGUITabButton.h" | #include "CEGUITabButton.h" | |||
#include "CEGUITabControl.h" | #include "CEGUITabControl.h" | |||
#include "CEGUIThumb.h" | #include "CEGUIThumb.h" | |||
#include "CEGUITitlebar.h" | #include "CEGUITitlebar.h" | |||
#include "CEGUITooltip.h" | #include "CEGUITooltip.h" | |||
#include "CEGUITree.h" | #include "CEGUITree.h" | |||
#include "CEGUITreeItem.h" | #include "CEGUITreeItem.h" | |||
#include "CEGUIVerticalLayoutContainer.h" | ||||
#endif // End of guard _CEGUIAll_h_ | #endif // End of guard _CEGUIAll_h_ | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 3 lines changed or added | |||
CEGUIBase.h | CEGUIBase.h | |||
---|---|---|---|---|
skipping to change at line 104 | skipping to change at line 104 | |||
// The following defines macros used within CEGUI for std::min/std::max | // The following defines macros used within CEGUI for std::min/std::max | |||
// usage, and is done as a compatibility measure for VC6 with native STL. | // usage, and is done as a compatibility measure for VC6 with native STL. | |||
#if defined(_MSC_VER) && (_MSC_VER <= 1200) && !defined(_STLPORT_VERSION) | #if defined(_MSC_VER) && (_MSC_VER <= 1200) && !defined(_STLPORT_VERSION) | |||
# define ceguimin std::_cpp_min | # define ceguimin std::_cpp_min | |||
# define ceguimax std::_cpp_max | # define ceguimax std::_cpp_max | |||
#else | #else | |||
# define ceguimin std::min | # define ceguimin std::min | |||
# define ceguimax std::max | # define ceguimax std::max | |||
#endif | #endif | |||
// CEGUI's Exception macros | ||||
// This provides a mechanism to override how exception handling is used. N | ||||
ote | ||||
// that in general this facility _should not be used_. Attempts to use thi | ||||
s | ||||
// to disable exceptions to 'make things easier' are doomed to failure. CE | ||||
GUI | ||||
// becomes less robust without exceptions (because they are used internally | ||||
by | ||||
// CEGUI). In addition, overriding the exception mechanism will also cause | ||||
// memory leaks in various places. This is your only warning about such th | ||||
ings, | ||||
// if you decide to continue anyway you hereby waive any right to complain | ||||
:-p | ||||
#ifndef CEGUI_TRY | ||||
# define CEGUI_TRY try | ||||
#endif | ||||
#ifndef CEGUI_CATCH | ||||
# define CEGUI_CATCH(e) catch (e) | ||||
#endif | ||||
#ifndef CEGUI_THROW | ||||
# define CEGUI_THROW(e) throw e | ||||
#endif | ||||
#ifndef CEGUI_RETHROW | ||||
# define CEGUI_RETHROW throw | ||||
#endif | ||||
/************************************************************************* | /************************************************************************* | |||
Documentation for the CEGUI namespace itself | Documentation for the CEGUI namespace itself | |||
*************************************************************************/ | *************************************************************************/ | |||
/*! | /*! | |||
\brief | \brief | |||
Main namespace for Crazy Eddie's GUI Library | Main namespace for Crazy Eddie's GUI Library | |||
The CEGUI namespace contains all the classes and other items that co mprise the core | The CEGUI namespace contains all the classes and other items that co mprise the core | |||
of Crazy Eddie's GUI system. | of Crazy Eddie's GUI system. | |||
*/ | */ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 27 lines changed or added | |||
CEGUICheckbox.h | CEGUICheckbox.h | |||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
*/ | */ | |||
class CEGUIEXPORT Checkbox : public ButtonBase | class CEGUIEXPORT Checkbox : public ButtonBase | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// generated internally by Window | /** Event fired when then checked state of the Checkbox changes. | |||
static const String EventCheckStateChanged; //!< | * Handlers are passed a const WindowEventArgs reference with | |||
The check-state of the widget has changed. | * WindowEventArgs::window set to the Checkbox whose state has changed. | |||
*/ | ||||
static const String EventCheckStateChanged; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Accessor Functions | Accessor Functions | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
return true if the check-box is selected (has the checkmark) | return true if the check-box is selected (has the checkmark) | |||
\return | \return | |||
true if the widget is selected and has the check-mark, false if the widget | true if the widget is selected and has the check-mark, false if the widget | |||
End of changes. 1 change blocks. | ||||
3 lines changed or deleted | 5 lines changed or added | |||
CEGUIColourRect.h | CEGUIColourRect.h | |||
---|---|---|---|---|
skipping to change at line 190 | skipping to change at line 190 | |||
The constant factor to modulate all alpha colour components by. | The constant factor to modulate all alpha colour components by. | |||
*/ | */ | |||
void modulateAlpha(float alpha); | void modulateAlpha(float alpha); | |||
/*! | /*! | |||
\brief | \brief | |||
Modulate all components of this colour rect with corresponding comp onents from another colour rect. | Modulate all components of this colour rect with corresponding comp onents from another colour rect. | |||
*/ | */ | |||
ColourRect& operator*=(const ColourRect& other); | ColourRect& operator*=(const ColourRect& other); | |||
inline ColourRect operator*(const float val) const | ||||
{ | ||||
return ColourRect( | ||||
d_top_left * val, | ||||
d_top_right * val, | ||||
d_bottom_left * val, | ||||
d_bottom_right * val | ||||
); | ||||
} | ||||
inline ColourRect operator+(const ColourRect& val) const | ||||
{ | ||||
return ColourRect( | ||||
d_top_left + val.d_top_left, | ||||
d_top_right + val.d_top_right, | ||||
d_bottom_left + val.d_bottom_left, | ||||
d_bottom_right + val.d_bottom_right | ||||
); | ||||
} | ||||
colour d_top_left, d_top_right, d_bottom_left, d_bottom_right; //<! ColourRect component colours | colour d_top_left, d_top_right, d_bottom_left, d_bottom_right; //<! ColourRect component colours | |||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIColourRect_h_ | #endif // end of guard _CEGUIColourRect_h_ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 20 lines changed or added | |||
CEGUIComboDropList.h | CEGUIComboDropList.h | |||
---|---|---|---|---|
skipping to change at line 57 | skipping to change at line 57 | |||
class CEGUIEXPORT ComboDropList : public Listbox | class CEGUIEXPORT ComboDropList : public Listbox | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// Event names | // Event names | |||
static const String EventListSelectionAccepted; //!< Event f | /** Event fired when the user confirms the selection by clicking the mo | |||
ired when the user confirms the selection by clicking the mouse. | use. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ComboDropList whose selection has | ||||
been | ||||
* confirmed by the user. | ||||
*/ | ||||
static const String EventListSelectionAccepted; | ||||
/*! | /*! | |||
\brief | \brief | |||
Initialise the Window based object ready for use. | Initialise the Window based object ready for use. | |||
\note | \note | |||
This must be called for every window created. Normally this is handled automatically by the WindowFactory for each Window type. | This must be called for every window created. Normally this is handled automatically by the WindowFactory for each Window type. | |||
\return | \return | |||
Nothing | Nothing | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 8 lines changed or added | |||
CEGUICombobox.h | CEGUICombobox.h | |||
---|---|---|---|---|
skipping to change at line 60 | skipping to change at line 60 | |||
class CEGUIEXPORT Combobox : public Window | class CEGUIEXPORT Combobox : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// event names from edit box | // event names from edit box | |||
static const String EventReadOnlyModeChanged; //!< | /** Event fired when the read-only mode for the edit box is changed. | |||
The read-only mode for the edit box has been changed. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventValidationStringChanged; //!< | * WindowEventArgs::window set to the Combobox whose read only mode | |||
The validation string has been changed. | * has been changed. | |||
static const String EventMaximumTextLengthChanged; //!< The max | */ | |||
imum allowable string length has been changed. | static const String EventReadOnlyModeChanged; | |||
static const String EventTextInvalidated; | /** Event fired when the edix box validation string is changed. | |||
//!< Some operation has made the current text invalid with regards to t | * Handlers are passed a const WindowEventArgs reference with | |||
he validation string. | * WindowEventArgs::window set to the Combobox whose validation | |||
static const String EventInvalidEntryAttempted; //!< The use | * string was changed. | |||
r attempted to modify the text in a way that would have made it invalid. | */ | |||
static const String EventCaratMoved; | static const String EventValidationStringChanged; | |||
//!< The text carat (insert point) has changed. | /** Event fired when the maximum string length is changed. | |||
static const String EventTextSelectionChanged; //!< The cur | * Handlers are passed a const WindowEventArgs reference with | |||
rent text selection has changed. | * WindowEventArgs::window set to the Combobox whose maximum edit box | |||
static const String EventEditboxFull; | * string length has been changed. | |||
//!< The number of characters in the edit box has reached the current m | */ | |||
aximum. | static const String EventMaximumTextLengthChanged; | |||
static const String EventTextAccepted; //!< | /** Event fired when an operation has made the current edit box text in | |||
The user has accepted the current text by pressing Return, Enter, or Tab. | valid | |||
* as regards to the current validation string. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox whose edit box text has | ||||
* become invalid. | ||||
*/ | ||||
static const String EventTextInvalidated; | ||||
/** Event fired when the user attempts to modify the edit box text in a | ||||
way | ||||
* that would make it invalid. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox in which the user's inpu | ||||
t | ||||
* would have invalidated the text. | ||||
*/ | ||||
static const String EventInvalidEntryAttempted; | ||||
/** Event fired when the edit box text insertion position is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox whose caret position has | ||||
* been changed. | ||||
*/ | ||||
static const String EventCaratMoved; | ||||
/** Event fired when the current edit box text selection is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox whose edit box text sele | ||||
ction | ||||
* has been changed. | ||||
*/ | ||||
static const String EventTextSelectionChanged; | ||||
/** Event fired when the number of characters in the edit box has reach | ||||
ed | ||||
* the currently set maximum. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox whose edit box has becom | ||||
e | ||||
* full. | ||||
*/ | ||||
static const String EventEditboxFull; | ||||
/** Event fired when the user accepts the current edit box text by pres | ||||
sing | ||||
* Return, Enter, or Tab. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox whose edit box text has | ||||
been | ||||
* accepted / confirmed by the user. | ||||
*/ | ||||
static const String EventTextAccepted; | ||||
// event names from list box | // event names from list box | |||
static const String EventListContentsChanged; //!< | /** Event fired when the contents of the list is changed. | |||
Event triggered when the contents of the list is changed. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventListSelectionChanged; //!< Event t | * WindowEventArgs::window set to the Combobox whose list content has | |||
riggered when there is a change to the currently selected item(s). | * changed. | |||
static const String EventSortModeChanged; | */ | |||
//!< Event triggered when the sort mode setting changes. | static const String EventListContentsChanged; | |||
static const String EventVertScrollbarModeChanged; //!< Event t | /** Event fired when there is a change to the currently selected item i | |||
riggered when the vertical scroll bar 'force' setting changes. | n the | |||
static const String EventHorzScrollbarModeChanged; //!< Event t | * list. | |||
riggered when the horizontal scroll bar 'force' setting changes. | * Handlers are passed a const WindowEventArgs reference with | |||
* WindowEventArgs::window set to the Combobox whose currently selected | ||||
list | ||||
* item has changed. | ||||
*/ | ||||
static const String EventListSelectionChanged; | ||||
/** Event fired when the sort mode setting of the list is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox whose list sorting mode | ||||
has | ||||
* been changed. | ||||
*/ | ||||
static const String EventSortModeChanged; | ||||
/** Event fired when the vertical scroll bar 'force' setting for the li | ||||
st is | ||||
* changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox whose vertical scroll ba | ||||
r | ||||
* setting is changed. | ||||
*/ | ||||
static const String EventVertScrollbarModeChanged; | ||||
/** Event fired when the horizontal scroll bar 'force' setting for the | ||||
list | ||||
* is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox whose horizontal scroll | ||||
bar | ||||
* setting has been changed. | ||||
*/ | ||||
static const String EventHorzScrollbarModeChanged; | ||||
// events we produce / generate ourselves | // events we produce / generate ourselves | |||
static const String EventDropListDisplayed; //!< | /** Event fired when the drop-down list is displayed | |||
Event triggered when the drop-down list is displayed | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventDropListRemoved; | * WindowEventArgs::window set to the Combobox whose drop down list has | |||
//!< Event triggered when the drop-down list is removed / hidden. | * been displayed. | |||
static const String EventListSelectionAccepted; //!< Event t | */ | |||
riggered when the user accepts a selection from the drop-down list | static const String EventDropListDisplayed; | |||
/** Event fired when the drop-down list is removed / hidden. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox whose drop down list has | ||||
* been hidden. | ||||
*/ | ||||
static const String EventDropListRemoved; | ||||
/** Event fired when the user accepts a selection from the drop-down li | ||||
st | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Combobox in which the user has | ||||
* confirmed a selection from the drop down list. | ||||
*/ | ||||
static const String EventListSelectionAccepted; | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String EditboxNameSuffix; //!< Widget name suffix for the editbox component. | static const String EditboxNameSuffix; //!< Widget name suffix for the editbox component. | |||
static const String DropListNameSuffix; //!< Widget name suffix for t he drop list component. | static const String DropListNameSuffix; //!< Widget name suffix for t he drop list component. | |||
static const String ButtonNameSuffix; //!< Widget name suffix for the button component. | static const String ButtonNameSuffix; //!< Widget name suffix for the button component. | |||
// override from Window class | // override from Window class | |||
bool isHit(const Vector2& position, | bool isHit(const Vector2& position, | |||
End of changes. 3 change blocks. | ||||
36 lines changed or deleted | 125 lines changed or added | |||
CEGUIConfig.h | CEGUIConfig.h | |||
---|---|---|---|---|
skipping to change at line 144 | skipping to change at line 144 | |||
// provide the bidirectional support (not supplied). | // provide the bidirectional support (not supplied). | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
//#define CEGUI_BIDI_SUPPORT | //#define CEGUI_BIDI_SUPPORT | |||
// Uncomment this to use the embedded minibidi library. | // Uncomment this to use the embedded minibidi library. | |||
//#define CEGUI_USE_MINIBIDI | //#define CEGUI_USE_MINIBIDI | |||
// - or - | // - or - | |||
// Uncomment this to use an external fribidi library. | // Uncomment this to use an external fribidi library. | |||
//#define CEGUI_USE_FRIBIDI | //#define CEGUI_USE_FRIBIDI | |||
////////////////////////////////////////////////////////////////////////// | ||||
// The following controls whether the MinizipResourceProvider will be | ||||
// built into the CEGUIBase library. You can uncomment the following line | ||||
// to include this code (and it's dependency code). | ||||
// | ||||
// The MinizipResourceProvider provides the ability to load resource files | ||||
// from locations within .zip files. | ||||
////////////////////////////////////////////////////////////////////////// | ||||
//#define CEGUI_HAS_MINIZIP_RESOURCE_PROVIDER | ||||
#endif // defined(__APPLE__) | #endif // defined(__APPLE__) | |||
#endif // end of guard _CEGUIConfig_h_ | #endif // end of guard _CEGUIConfig_h_ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 10 lines changed or added | |||
CEGUIDragContainer.h | CEGUIDragContainer.h | |||
---|---|---|---|---|
skipping to change at line 55 | skipping to change at line 55 | |||
Generic drag & drop enabled window class | Generic drag & drop enabled window class | |||
*/ | */ | |||
class CEGUIEXPORT DragContainer : public Window | class CEGUIEXPORT DragContainer : public Window | |||
{ | { | |||
public: | public: | |||
/****************************************************************** ******* | /****************************************************************** ******* | |||
Constants | Constants | |||
******************************************************************* ******/ | ******************************************************************* ******/ | |||
static const String WidgetTypeName; //!< Type name for DragCont ainer. | static const String WidgetTypeName; //!< Type name for DragCont ainer. | |||
static const String EventNamespace; //!< Namespace for global e vents | static const String EventNamespace; //!< Namespace for global e vents | |||
static const String EventDragStarted; //!< Name of the event fire | /** Event fired when the user begins dragging the DragContainer. | |||
d when the user begins dragging the thumb. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventDragEnded; //!< Name of the event fire | * WindowEventArgs::window set to the DragContainer that the user | |||
d when the user releases the thumb. | * has started to drag. | |||
static const String EventDragPositionChanged; //!< Event fired wh | */ | |||
en the drag position has changed. | static const String EventDragStarted; | |||
static const String EventDragEnabledChanged; //!< Event fired wh | /** Event fired when the user releases the DragContainer. | |||
en dragging is enabled or disabled. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventDragAlphaChanged; //!< Event fired wh | * WindowEventArgs::window set to the DragContainer that the user h | |||
en the alpha value used when dragging is changed. | as | |||
static const String EventDragMouseCursorChanged;//!< Event fired wh | * released. | |||
en the mouse cursor used when dragging is changed. | */ | |||
static const String EventDragThresholdChanged; //!< Event fired wh | static const String EventDragEnded; | |||
en the drag pixel threshold is changed. | /** Event fired when the drag position has changed. | |||
static const String EventDragDropTargetChanged; //!< Event fired wh | * Handlers are passed a const WindowEventArgs reference with | |||
en the drop target changes. | * WindowEventArgs::window set to the DragContainer whose position | |||
has | ||||
* changed due to the user dragging it. | ||||
*/ | ||||
static const String EventDragPositionChanged; | ||||
/** Event fired when dragging is enabled or disabled. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the DragContainer whose setting h | ||||
as | ||||
* been changed. | ||||
*/ | ||||
static const String EventDragEnabledChanged; | ||||
/** Event fired when the alpha value used when dragging is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the DragContainer whose drag alph | ||||
a | ||||
* value has been changed. | ||||
*/ | ||||
static const String EventDragAlphaChanged; | ||||
/** Event fired when the mouse cursor to used when dragging is chan | ||||
ged. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the DragContainer whose dragging | ||||
* mouse cursor image has been changed. | ||||
*/ | ||||
static const String EventDragMouseCursorChanged; | ||||
/** Event fired when the drag pixel threshold is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the DragContainer whose dragging | ||||
pixel | ||||
* threshold has been changed. | ||||
*/ | ||||
static const String EventDragThresholdChanged; | ||||
/** Event fired when the drop target changes. | ||||
* Handlers are passed a const DragDropEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that is now the target | ||||
* window and DragDropEventArgs::dragDropItem set to the DragConta | ||||
iner | ||||
* whose target has changed. | ||||
*/ | ||||
static const String EventDragDropTargetChanged; | ||||
/****************************************************************** ******* | /****************************************************************** ******* | |||
Object Construction and Destruction | Object Construction and Destruction | |||
******************************************************************* ******/ | ******************************************************************* ******/ | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor for DragContainer objects | Constructor for DragContainer objects | |||
*/ | */ | |||
DragContainer(const String& type, const String& name); | DragContainer(const String& type, const String& name); | |||
End of changes. 1 change blocks. | ||||
16 lines changed or deleted | 56 lines changed or added | |||
CEGUIDynamicModule.h | CEGUIDynamicModule.h | |||
---|---|---|---|---|
skipping to change at line 46 | skipping to change at line 46 | |||
*************************************************************************/ | *************************************************************************/ | |||
#if defined(__WIN32__) || defined(_WIN32) | #if defined(__WIN32__) || defined(_WIN32) | |||
# define DYNLIB_HANDLE hInstance | # define DYNLIB_HANDLE hInstance | |||
# define DYNLIB_LOAD( a ) LoadLibrary( a ) | # define DYNLIB_LOAD( a ) LoadLibrary( a ) | |||
# define DYNLIB_GETSYM( a, b ) GetProcAddress( a, b ) | # define DYNLIB_GETSYM( a, b ) GetProcAddress( a, b ) | |||
# define DYNLIB_UNLOAD( a ) !FreeLibrary( a ) | # define DYNLIB_UNLOAD( a ) !FreeLibrary( a ) | |||
struct HINSTANCE__; | struct HINSTANCE__; | |||
typedef struct HINSTANCE__* hInstance; | typedef struct HINSTANCE__* hInstance; | |||
#elif defined(__linux__) || defined(__FreeBSD__) | #elif defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) | |||
# define DYNLIB_HANDLE void* | # define DYNLIB_HANDLE void* | |||
# define DYNLIB_LOAD( a ) dlopen( a, RTLD_LAZY ) | # define DYNLIB_LOAD( a ) dlopen( a, RTLD_LAZY ) | |||
# define DYNLIB_GETSYM( a, b ) dlsym( a, b ) | # define DYNLIB_GETSYM( a, b ) dlsym( a, b ) | |||
# define DYNLIB_UNLOAD( a ) dlclose( a ) | # define DYNLIB_UNLOAD( a ) dlclose( a ) | |||
# define DYNLIB_ERROR( ) dlerror( ) | # define DYNLIB_ERROR( ) dlerror( ) | |||
#elif defined(__APPLE_CC__) | #elif defined(__APPLE_CC__) | |||
# define DYNLIB_HANDLE CFBundleRef | # define DYNLIB_HANDLE CFBundleRef | |||
# define DYNLIB_LOAD( a ) mac_loadExeBundle( a ) | # define DYNLIB_LOAD( a ) mac_loadExeBundle( a ) | |||
# define DYNLIB_GETSYM( a, b ) mac_getBundleSym( a, b ) | # define DYNLIB_GETSYM( a, b ) mac_getBundleSym( a, b ) | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
CEGUIEditbox.h | CEGUIEditbox.h | |||
---|---|---|---|---|
skipping to change at line 77 | skipping to change at line 77 | |||
//------------------------------------------------------------------------- ---// | //------------------------------------------------------------------------- ---// | |||
//! Base class for an Editbox widget | //! Base class for an Editbox widget | |||
class CEGUIEXPORT Editbox : public Window | class CEGUIEXPORT Editbox : public Window | |||
{ | { | |||
public: | public: | |||
//! Namespace for global events | //! Namespace for global events | |||
static const String EventNamespace; | static const String EventNamespace; | |||
//! Window factory name | //! Window factory name | |||
static const String WidgetTypeName; | static const String WidgetTypeName; | |||
//! The read-only mode for the edit box has been changed. | /** Event fired when the read-only mode for the edit box is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox whose read only setting | ||||
* has been changed. | ||||
*/ | ||||
static const String EventReadOnlyModeChanged; | static const String EventReadOnlyModeChanged; | |||
//! The masked rendering mode (password mode) has been changed. | /** Event fired when the masked rendering mode (password mode) is chang | |||
ed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox that has been put into or | ||||
* taken out of masked text (password) mode. | ||||
*/ | ||||
static const String EventMaskedRenderingModeChanged; | static const String EventMaskedRenderingModeChanged; | |||
//! The code point (character) to use for masked text has been changed. | /** Event fired whrn the code point (character) used for masked text is | |||
* changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox whose text masking codepo | ||||
int | ||||
* has been changed. | ||||
*/ | ||||
static const String EventMaskCodePointChanged; | static const String EventMaskCodePointChanged; | |||
//! The validation string has been changed. | /** Event fired when the validation string is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox whose validation string h | ||||
as | ||||
* been changed. | ||||
*/ | ||||
static const String EventValidationStringChanged; | static const String EventValidationStringChanged; | |||
//! The maximum allowable string length has been changed. | /** Event fired when the maximum allowable string length is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox whose maximum string leng | ||||
th | ||||
* has been changed. | ||||
*/ | ||||
static const String EventMaximumTextLengthChanged; | static const String EventMaximumTextLengthChanged; | |||
//! The current text has become invalid as regards to the validation st | /** Event fired when the current text has become invalid as regards to | |||
ring. | the | |||
* validation string. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox whose text has become inv | ||||
alid. | ||||
*/ | ||||
static const String EventTextInvalidated; | static const String EventTextInvalidated; | |||
//! The user attempted to chage the text in a way that was invalid. | /** Event fired when the user attempts to chage the text in a way that | |||
would | ||||
* make it invalid as regards to the validation string. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox in which the users input | ||||
would | ||||
* have invalidated the text. | ||||
*/ | ||||
static const String EventInvalidEntryAttempted; | static const String EventInvalidEntryAttempted; | |||
//! The text carat (insert point) has changed. | /** Event fired when the text caret position / insertion point is chang | |||
ed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox whose current insertion p | ||||
oint | ||||
* has changed. | ||||
*/ | ||||
static const String EventCaratMoved; | static const String EventCaratMoved; | |||
//! The current text selection has changed. | /** Event fired when the current text selection is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox whose current text select | ||||
ion | ||||
* was changed. | ||||
*/ | ||||
static const String EventTextSelectionChanged; | static const String EventTextSelectionChanged; | |||
//! The number of characters in the edit box reached the current maximu | /** Event fired when the number of characters in the edit box reaches t | |||
m. | he | |||
* currently set maximum. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox that has become full. | ||||
*/ | ||||
static const String EventEditboxFull; | static const String EventEditboxFull; | |||
//! The user accepted the current text by pressing Return, Enter, or Ta | /** Event fired when the user accepts the current text by pressing Retu | |||
b. | rn, | |||
* Enter, or Tab. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Editbox in which the user has acc | ||||
epted | ||||
* the current text. | ||||
*/ | ||||
static const String EventTextAccepted; | static const String EventTextAccepted; | |||
/*! | /*! | |||
\brief | \brief | |||
return true if the Editbox has input focus. | return true if the Editbox has input focus. | |||
\return | \return | |||
- true if the Editbox has keyboard input focus. | - true if the Editbox has keyboard input focus. | |||
- false if the Editbox does not have keyboard input focus. | - false if the Editbox does not have keyboard input focus. | |||
*/ | */ | |||
End of changes. 11 change blocks. | ||||
14 lines changed or deleted | 72 lines changed or added | |||
CEGUIFalPropertyDefinition.h | CEGUIFalPropertyDefinition.h | |||
---|---|---|---|---|
skipping to change at line 43 | skipping to change at line 43 | |||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
/*! | /*! | |||
\brief | \brief | |||
Class representing a generic get/set property. | Class representing a generic get/set property. | |||
*/ | */ | |||
class CEGUIEXPORT PropertyDefinition : public PropertyDefinitionBase | class CEGUIEXPORT PropertyDefinition : public PropertyDefinitionBase | |||
{ | { | |||
public: | public: | |||
/*! | ||||
\deprecated | ||||
This version of the constructor is deprecated in favour of the | ||||
version taking a help string. | ||||
*/ | ||||
PropertyDefinition(const String& name, const String& initialValue, bool redrawOnWrite, bool layoutOnWrite); | PropertyDefinition(const String& name, const String& initialValue, bool redrawOnWrite, bool layoutOnWrite); | |||
//! Constructor. | ||||
PropertyDefinition(const String& name, const String& initialValue, | ||||
const String& help, bool redrawOnWrite, | ||||
bool layoutOnWrite); | ||||
// abstract members from Property | // abstract members from Property | |||
String get(const PropertyReceiver* receiver) const; | String get(const PropertyReceiver* receiver) const; | |||
void set(PropertyReceiver* receiver, const String& value); | void set(PropertyReceiver* receiver, const String& value); | |||
protected: | protected: | |||
void writeXMLElementType(XMLSerializer& xml_stream) const; | void writeXMLElementType(XMLSerializer& xml_stream) const; | |||
String d_userStringName; | String d_userStringName; | |||
}; | }; | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 10 lines changed or added | |||
CEGUIFalPropertyLinkDefinition.h | CEGUIFalPropertyLinkDefinition.h | |||
---|---|---|---|---|
/*********************************************************************** | /*********************************************************************** | |||
filename: CEGUIFalPropertyLinkDefinition.h | filename: CEGUIFalPropertyLinkDefinition.h | |||
created: Sat Oct 8 2005 | created: Sat Oct 8 2005 | |||
author: Paul D Turner <paul@cegui.org.uk> | author: Paul D Turner <paul@cegui.org.uk> | |||
*************************************************************************/ | *************************************************************************/ | |||
/************************************************************************** * | /************************************************************************** * | |||
* Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team | * Copyright (C) 2004 - 2010 Paul D Turner & The CEGUI Development Team | |||
* | * | |||
* Permission is hereby granted, free of charge, to any person obtaining | * Permission is hereby granted, free of charge, to any person obtaining | |||
* a copy of this software and associated documentation files (the | * a copy of this software and associated documentation files (the | |||
* "Software"), to deal in the Software without restriction, including | * "Software"), to deal in the Software without restriction, including | |||
* without limitation the rights to use, copy, modify, merge, publish, | * without limitation the rights to use, copy, modify, merge, publish, | |||
* distribute, sublicense, and/or sell copies of the Software, and to | * distribute, sublicense, and/or sell copies of the Software, and to | |||
* permit persons to whom the Software is furnished to do so, subject to | * permit persons to whom the Software is furnished to do so, subject to | |||
* the following conditions: | * the following conditions: | |||
* | * | |||
* The above copyright notice and this permission notice shall be | * The above copyright notice and this permission notice shall be | |||
skipping to change at line 32 | skipping to change at line 32 | |||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | |||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |||
* OTHER DEALINGS IN THE SOFTWARE. | * OTHER DEALINGS IN THE SOFTWARE. | |||
************************************************************************** */ | ************************************************************************** */ | |||
#ifndef _CEGUIFalPropertyLinkDefinition_h_ | #ifndef _CEGUIFalPropertyLinkDefinition_h_ | |||
#define _CEGUIFalPropertyLinkDefinition_h_ | #define _CEGUIFalPropertyLinkDefinition_h_ | |||
#include "CEGUIFalPropertyDefinitionBase.h" | #include "CEGUIFalPropertyDefinitionBase.h" | |||
#include <vector> | ||||
#if defined (_MSC_VER) | ||||
# pragma warning(push) | ||||
# pragma warning(disable : 4251) | ||||
#endif | ||||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
/*! | /*! | |||
\brief | \brief | |||
Class representing a property that links to another property define d on | Class representing a property that links to another property define d on | |||
an attached child widget. | an attached child widget. | |||
*/ | */ | |||
class CEGUIEXPORT PropertyLinkDefinition : public PropertyDefinitionBas e | class CEGUIEXPORT PropertyLinkDefinition : public PropertyDefinitionBas e | |||
{ | { | |||
public: | public: | |||
PropertyLinkDefinition(const String& propertyName, const String& wi dgetNameSuffix, const String& targetProperty, const String& initialValue, b ool redrawOnWrite, bool layoutOnWrite); | PropertyLinkDefinition(const String& propertyName, const String& wi dgetNameSuffix, const String& targetProperty, const String& initialValue, b ool redrawOnWrite, bool layoutOnWrite); | |||
//! add a new link target to \a property on \a widget (name suffix) | ||||
. | ||||
void addLinkTarget(const String& widget, const String& property); | ||||
//! clear all link targets from this link definition. | ||||
void clearLinkTargets(); | ||||
// override members from PropertyDefinitionBase | // override members from PropertyDefinitionBase | |||
String get(const PropertyReceiver* receiver) const; | String get(const PropertyReceiver* receiver) const; | |||
void set(PropertyReceiver* receiver, const String& value); | void set(PropertyReceiver* receiver, const String& value); | |||
protected: | protected: | |||
void writeXMLElementType(XMLSerializer& xml_stream) const; | void writeXMLElementType(XMLSerializer& xml_stream) const; | |||
void writeXMLAttributes(XMLSerializer& xml_stream) const; | void writeXMLAttributes(XMLSerializer& xml_stream) const; | |||
/*! | /*! | |||
\brief | \brief | |||
return a pointer to the window containing the target property t o | return a pointer to the window containing the target property t o | |||
be accessed. | be accessed. | |||
\exception UnknownObjectException | \exception UnknownObjectException | |||
thrown if no such target window exists within the system. | thrown if no such target window exists within the system. | |||
\deprecated | ||||
This will be removed in 0.8.x. Use the version taking a suffix | ||||
string instead! | ||||
*/ | */ | |||
const Window* getTargetWindow(const PropertyReceiver* receiver) con st; | const Window* getTargetWindow(const PropertyReceiver* receiver) con st; | |||
/*! | ||||
\deprecated | ||||
This will be removed in 0.8.x. Use the version taking a suffix | ||||
string instead! | ||||
*/ | ||||
Window* getTargetWindow(PropertyReceiver* receiver); | Window* getTargetWindow(PropertyReceiver* receiver); | |||
String d_widgetNameSuffix; | //! Return a pointer to the target window with the given suffix. | |||
String d_targetProperty; | const Window* getTargetWindow(const PropertyReceiver* receiver, | |||
const String& name_suffix) const; | ||||
//! Return a pointer to the target window with the given suffix. | ||||
Window* getTargetWindow(PropertyReceiver* receiver, | ||||
const String& name_suffix); | ||||
//! Internal struct used to keep track of targets. | ||||
struct LinkTarget | ||||
{ | ||||
//! name suffix of the target widget. | ||||
String d_widgetNameSuffix; | ||||
//! the property to use on the target widget. | ||||
String d_targetProperty; | ||||
}; | ||||
//! type used for the collection of targets. | ||||
typedef std::vector<LinkTarget> LinkTargetCollection; | ||||
//! collection of targets for this PropertyLinkDefinition. | ||||
LinkTargetCollection d_targets; | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#if defined (_MSC_VER) | ||||
# pragma warning(pop) | ||||
#endif | ||||
#endif // end of guard _CEGUIFalPropertyLinkDefinition_h_ | #endif // end of guard _CEGUIFalPropertyLinkDefinition_h_ | |||
End of changes. 7 change blocks. | ||||
3 lines changed or deleted | 49 lines changed or added | |||
CEGUIFalSectionSpecification.h | CEGUIFalSectionSpecification.h | |||
---|---|---|---|---|
skipping to change at line 61 | skipping to change at line 61 | |||
\brief | \brief | |||
Constructor | Constructor | |||
\param owner | \param owner | |||
String holding the name of the WidgetLookFeel object that conta ins the target section. | String holding the name of the WidgetLookFeel object that conta ins the target section. | |||
\param sectionName | \param sectionName | |||
String holding the name of the target section. | String holding the name of the target section. | |||
\param controlPropertySource | \param controlPropertySource | |||
String holding the name of a boolean property that will control | String holding the name of a property that will control whether | |||
if | rendering for this secion will actually occur or not. | |||
the rendering for this secion will actually occur or not. | ||||
\param controlPropertyValue | ||||
String holding the value to be tested for from the property nam | ||||
ed in | ||||
controlPropertySource. If this is empty, then controlPropertyS | ||||
ource | ||||
will be accessed as a boolean property, otherwise rendering wil | ||||
l | ||||
only occur when the value returned via controlPropertySource ma | ||||
tches | ||||
the value specified here. | ||||
\param controlPropertyWidget | ||||
String holding either a widget name suffix or the special value | ||||
of | ||||
'__parent__' indicating the window upon which the property name | ||||
d | ||||
in controlPropertySource should be accessed. If this is empty | ||||
then | ||||
the window itself is used as the source, rather than a child or | ||||
the | ||||
parent. | ||||
*/ | */ | |||
SectionSpecification(const String& owner, const String& sectionName | SectionSpecification(const String& owner, const String& sectionName | |||
, const String& controlPropertySource); | , | |||
const String& controlPropertySource, | ||||
const String& controlPropertyValue, | ||||
const String& controlPropertyWidget); | ||||
/*! | /*! | |||
\brief | \brief | |||
Constructor | Constructor | |||
\param owner | \param owner | |||
String holding the name of the WidgetLookFeel object that conta ins the target section. | String holding the name of the WidgetLookFeel object that conta ins the target section. | |||
\param sectionName | \param sectionName | |||
String holding the name of the target section. | String holding the name of the target section. | |||
\param controlPropertySource | \param controlPropertySource | |||
String holding the name of a boolean property that will control | String holding the name of a property that will control whether | |||
if | rendering for this secion will actually occur or not. | |||
the rendering for this secion will actually occur or not. | ||||
\param controlPropertyValue | ||||
String holding the value to be tested for from the property nam | ||||
ed in | ||||
controlPropertySource. If this is empty, then controlPropertyS | ||||
ource | ||||
will be accessed as a boolean property, otherwise rendering wil | ||||
l | ||||
only occur when the value returned via controlPropertySource ma | ||||
tches | ||||
the value specified here. | ||||
\param controlPropertyWidget | ||||
String holding either a widget name suffix or the special value | ||||
of | ||||
'__parent__' indicating the window upon which the property name | ||||
d | ||||
in controlPropertySource should be accessed. If this is empty | ||||
then | ||||
the window itself is used as the source, rather than a child or | ||||
the | ||||
parent. | ||||
\param cols | \param cols | |||
Override colours to be used (modulates sections master colours) . | Override colours to be used (modulates sections master colours) . | |||
*/ | */ | |||
SectionSpecification(const String& owner, const String& sectionName | SectionSpecification(const String& owner, const String& sectionName | |||
, const String& controlPropertySource, const ColourRect& cols); | , | |||
const String& controlPropertySource, | ||||
const String& controlPropertyValue, | ||||
const String& controlPropertyWidget, | ||||
const ColourRect& cols); | ||||
/*! | /*! | |||
\brief | \brief | |||
Render the section specified by this SectionSpecification. | Render the section specified by this SectionSpecification. | |||
\param srcWindow | \param srcWindow | |||
Window object to be used when calculating pixel values from Bas eDim values. | Window object to be used when calculating pixel values from Bas eDim values. | |||
\return | \return | |||
Nothing. | Nothing. | |||
skipping to change at line 215 | skipping to change at line 250 | |||
\param property | \param property | |||
String containing the name of the property. | String containing the name of the property. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void setRenderControlPropertySource(const String& property); | void setRenderControlPropertySource(const String& property); | |||
/*! | /*! | |||
\brief | \brief | |||
Set the test value used when determining whether to render this | ||||
section. | ||||
The value set here will be compared to the current value of the | ||||
property named as the render control property, if they match th | ||||
e | ||||
secion will be drawn, otherwise the section will not be drawn. | ||||
If | ||||
this value is set to the empty string, the control property wil | ||||
l | ||||
instead be treated as a boolean property. | ||||
*/ | ||||
void setRenderControlValue(const String& value); | ||||
/*! | ||||
\brief | ||||
Set the widget what will be used as the source of the property | ||||
named as the control property. | ||||
The value of this setting will be interpreted as follows: | ||||
- empty string: The target widget being drawn will be the sourc | ||||
e of | ||||
the property value. | ||||
- '__parent__': The parent of the widget being drawn will be th | ||||
e | ||||
source of the property value. | ||||
- any other value: The value will be taken as a name suffix and | ||||
a window with the name of the widget being drawn with the | ||||
specified suffix will be the source of the property value. | ||||
*/ | ||||
void setRenderControlWidget(const String& widget); | ||||
/*! | ||||
\brief | ||||
Writes an xml representation of this SectionSpecification to \a out_stream. | Writes an xml representation of this SectionSpecification to \a out_stream. | |||
\param xml_stream | \param xml_stream | |||
Stream where xml data should be output. | Stream where xml data should be output. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void writeXMLToStream(XMLSerializer& xml_stream) const; | void writeXMLToStream(XMLSerializer& xml_stream) const; | |||
skipping to change at line 238 | skipping to change at line 302 | |||
Helper method to initialise a ColourRect with appropriate value s according to the way the | Helper method to initialise a ColourRect with appropriate value s according to the way the | |||
section sepcification is set up. | section sepcification is set up. | |||
This will try and get values from multiple places: | This will try and get values from multiple places: | |||
- a property attached to \a wnd | - a property attached to \a wnd | |||
- the integral d_coloursOverride values. | - the integral d_coloursOverride values. | |||
- or default to colour(1,1,1,1); | - or default to colour(1,1,1,1); | |||
*/ | */ | |||
void initColourRectForOverride(const Window& wnd, ColourRect& cr) c onst; | void initColourRectForOverride(const Window& wnd, ColourRect& cr) c onst; | |||
/** return whether the section should be drawn, based upon the | ||||
* render control property and associated items. | ||||
*/ | ||||
bool shouldBeDrawn(const Window& wnd) const; | ||||
private: | private: | |||
String d_owner; //!< Name of the WidgetLook Feel containing the required section. | String d_owner; //!< Name of the WidgetLook Feel containing the required section. | |||
String d_sectionName; //!< Name of the required s ection within the specified WidgetLookFeel. | String d_sectionName; //!< Name of the required s ection within the specified WidgetLookFeel. | |||
ColourRect d_coloursOverride; //!< Colours to use when ov erride is enabled. | ColourRect d_coloursOverride; //!< Colours to use when ov erride is enabled. | |||
bool d_usingColourOverride; //!< true if colour overrid e is enabled. | bool d_usingColourOverride; //!< true if colour overrid e is enabled. | |||
String d_colourPropertyName; //!< name of property to fe tch colours from. | String d_colourPropertyName; //!< name of property to fe tch colours from. | |||
bool d_colourProperyIsRect; //!< true if the colour pro perty will fetch a full ColourRect. | bool d_colourProperyIsRect; //!< true if the colour pro perty will fetch a full ColourRect. | |||
String d_renderControlProperty; //!< Name of a 'boolean | //! Name of a property to control whether to draw this section. | |||
' property that controls whether to actually draw this section. | String d_renderControlProperty; | |||
//! Comparison value to test against d_renderControlProperty. | ||||
String d_renderControlValue; | ||||
//! Widget upon which d_renderControlProperty is to be accessed. | ||||
String d_renderControlWidget; | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIFalSectionSpecification_h_ | #endif // end of guard _CEGUIFalSectionSpecification_h_ | |||
End of changes. 7 change blocks. | ||||
12 lines changed or deleted | 104 lines changed or added | |||
CEGUIFalTextComponent.h | CEGUIFalTextComponent.h | |||
---|---|---|---|---|
skipping to change at line 57 | skipping to change at line 57 | |||
*/ | */ | |||
class CEGUIEXPORT TextComponent : public FalagardComponentBase | class CEGUIEXPORT TextComponent : public FalagardComponentBase | |||
{ | { | |||
public: | public: | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor | Constructor | |||
*/ | */ | |||
TextComponent(); | TextComponent(); | |||
//! Destructor | ||||
~TextComponent(); | ||||
//! Copy constructor | ||||
TextComponent(const TextComponent& obj); | ||||
//! Assignment | ||||
TextComponent& operator=(const TextComponent& other); | ||||
/*! | /*! | |||
\brief | \brief | |||
Return the text object that will be rendered by this TextCompon ent. | Return the text object that will be rendered by this TextCompon ent. | |||
\return | \return | |||
String object containing the text that will be rendered. | String object containing the text that will be rendered. | |||
*/ | */ | |||
const String& getText() const; | const String& getText() const; | |||
//! return text string with \e visual ordering of glyphs. | //! return text string with \e visual ordering of glyphs. | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 9 lines changed or added | |||
CEGUIFalWidgetLookFeel.h | CEGUIFalWidgetLookFeel.h | |||
---|---|---|---|---|
skipping to change at line 305 | skipping to change at line 305 | |||
\brief | \brief | |||
Clear all defined property link definitions from the WidgetLook Feel | Clear all defined property link definitions from the WidgetLook Feel | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void clearPropertyLinkDefinitions(); | void clearPropertyLinkDefinitions(); | |||
/*! | /*! | |||
\brief | \brief | |||
Add the name of an animation that is associated with the | ||||
WidgetLookFeel. | ||||
\param anim_name | ||||
Reference to a String object that contains the name of the anim | ||||
ation | ||||
to be associated with this WidgetLookFeel. | ||||
*/ | ||||
void addAnimationName(const String& anim_name); | ||||
/*! | ||||
\brief | ||||
Writes an xml representation of this WidgetLookFeel to \a out_s tream. | Writes an xml representation of this WidgetLookFeel to \a out_s tream. | |||
\param xml_stream | \param xml_stream | |||
Stream where xml data should be output. | Stream where xml data should be output. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void writeXMLToStream(XMLSerializer& xml_stream) const; | void writeXMLToStream(XMLSerializer& xml_stream) const; | |||
skipping to change at line 379 | skipping to change at line 390 | |||
* @access public | * @access public | |||
* @return CEGUI::WidgetLookFeel::PropertyList List of properties | * @return CEGUI::WidgetLookFeel::PropertyList List of properties | |||
*/ | */ | |||
const PropertyList& getProperties() const { return d_properties; } | const PropertyList& getProperties() const { return d_properties; } | |||
private: | private: | |||
typedef std::map<String, StateImagery, String::FastLessCompare> StateList; | typedef std::map<String, StateImagery, String::FastLessCompare> StateList; | |||
typedef std::map<String, ImagerySection, String::FastLessCompare> ImageryList; | typedef std::map<String, ImagerySection, String::FastLessCompare> ImageryList; | |||
typedef std::map<String, NamedArea, String::FastLessCompare> NamedAreaList; | typedef std::map<String, NamedArea, String::FastLessCompare> NamedAreaList; | |||
typedef std::vector<WidgetComponent> WidgetList; | typedef std::vector<WidgetComponent> WidgetList; | |||
typedef std::vector<String> AnimationList; | ||||
typedef std::multimap<Window*, AnimationInstance*> AnimationInst | ||||
anceMap; | ||||
CEGUI::String d_lookName; //!< Name of this WidgetLookFee l. | CEGUI::String d_lookName; //!< Name of this WidgetLookFee l. | |||
ImageryList d_imagerySections; //!< Collection of ImagerySecti on objects. | ImageryList d_imagerySections; //!< Collection of ImagerySecti on objects. | |||
WidgetList d_childWidgets; //!< Collection of WidgetCompon ent objects. | WidgetList d_childWidgets; //!< Collection of WidgetCompon ent objects. | |||
StateList d_stateImagery; //!< Collection of StateImagery objects. | StateList d_stateImagery; //!< Collection of StateImagery objects. | |||
PropertyList d_properties; //!< Collection of PropertyInit ialser objects. | PropertyList d_properties; //!< Collection of PropertyInit ialser objects. | |||
NamedAreaList d_namedAreas; //!< Collection of NamedArea ob jects. | NamedAreaList d_namedAreas; //!< Collection of NamedArea ob jects. | |||
mutable PropertyDefinitionList d_propertyDefinitions; //!< Collec tion of PropertyDefinition objects. | mutable PropertyDefinitionList d_propertyDefinitions; //!< Collec tion of PropertyDefinition objects. | |||
mutable PropertyLinkDefinitionList d_propertyLinkDefinitions; //!< Collection of PropertyLinkDefinition objects. | mutable PropertyLinkDefinitionList d_propertyLinkDefinitions; //!< Collection of PropertyLinkDefinition objects. | |||
//! Collection of animation names associated with this WidgetLookFe | ||||
el. | ||||
AnimationList d_animations; | ||||
//! map of windows and their associated animation instances | ||||
mutable AnimationInstanceMap d_animationInstances; | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#if defined(_MSC_VER) | #if defined(_MSC_VER) | |||
# pragma warning(pop) | # pragma warning(pop) | |||
#endif | #endif | |||
#endif // end of guard _CEGUIFalWidgetLookFeel_h_ | #endif // end of guard _CEGUIFalWidgetLookFeel_h_ | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 20 lines changed or added | |||
CEGUIFalWidgetLookManager.h | CEGUIFalWidgetLookManager.h | |||
---|---|---|---|---|
/*********************************************************************** | /*********************************************************************** | |||
filename: CEGUIFalWidgetLookManager.h | filename: CEGUIFalWidgetLookManager.h | |||
created: Mon Jun 13 2005 | created: Mon Jun 13 2005 | |||
author: Paul D Turner <paul@cegui.org.uk> | author: Paul D Turner <paul@cegui.org.uk> | |||
*************************************************************************/ | *************************************************************************/ | |||
/************************************************************************** * | /************************************************************************** * | |||
* Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team | * Copyright (C) 2004 - 2010 Paul D Turner & The CEGUI Development Team | |||
* | * | |||
* Permission is hereby granted, free of charge, to any person obtaining | * Permission is hereby granted, free of charge, to any person obtaining | |||
* a copy of this software and associated documentation files (the | * a copy of this software and associated documentation files (the | |||
* "Software"), to deal in the Software without restriction, including | * "Software"), to deal in the Software without restriction, including | |||
* without limitation the rights to use, copy, modify, merge, publish, | * without limitation the rights to use, copy, modify, merge, publish, | |||
* distribute, sublicense, and/or sell copies of the Software, and to | * distribute, sublicense, and/or sell copies of the Software, and to | |||
* permit persons to whom the Software is furnished to do so, subject to | * permit persons to whom the Software is furnished to do so, subject to | |||
* the following conditions: | * the following conditions: | |||
* | * | |||
* The above copyright notice and this permission notice shall be | * The above copyright notice and this permission notice shall be | |||
skipping to change at line 76 | skipping to change at line 76 | |||
\brief | \brief | |||
Return singleton WidgetLookManager object | Return singleton WidgetLookManager object | |||
\return | \return | |||
Singleton WidgetLookManager object | Singleton WidgetLookManager object | |||
*/ | */ | |||
static WidgetLookManager& getSingleton(void); | static WidgetLookManager& getSingleton(void); | |||
/*! | /*! | |||
\brief | \brief | |||
Return pointer to singleton WindowFactoryManager obj ect | Return pointer to singleton WidgetLookManager object | |||
\return | \return | |||
Pointer to singleton WindowFactoryManager object | Pointer to singleton WidgetLookManager object | |||
*/ | */ | |||
static WidgetLookManager* getSingletonPtr(void); | static WidgetLookManager* getSingletonPtr(void); | |||
/*! | /*! | |||
\brief | \brief | |||
Parses a file containing window look & feel specifications (in the form of XML). | Parses a file containing window look & feel specifications (in the form of XML). | |||
\note | \note | |||
If the new file contains specifications for widget types that a re already specified, it is not an error; | If the new file contains specifications for widget types that a re already specified, it is not an error; | |||
the previous definitions are overwritten by the new data. An e ntry will appear in the log each time any | the previous definitions are overwritten by the new data. An e ntry will appear in the log each time any | |||
skipping to change at line 114 | skipping to change at line 114 | |||
void parseLookNFeelSpecification(const String& filename, const Stri ng& resourceGroup = ""); | void parseLookNFeelSpecification(const String& filename, const Stri ng& resourceGroup = ""); | |||
/*! | /*! | |||
\brief | \brief | |||
Return whether a WidgetLookFeel has been created with the speci fied name. | Return whether a WidgetLookFeel has been created with the speci fied name. | |||
\param widget | \param widget | |||
String object holding the name of a widget look to test for. | String object holding the name of a widget look to test for. | |||
\return | \return | |||
- true if a WindowLookFeel named \a widget is available. | - true if a WidgetLookFeel named \a widget is available. | |||
- false if so such WindowLookFeel is currently available. | - false if so such WidgetLookFeel is currently available. | |||
*/ | */ | |||
bool isWidgetLookAvailable(const String& widget) const; | bool isWidgetLookAvailable(const String& widget) const; | |||
/*! | /*! | |||
\brief | \brief | |||
Return a const reference to a WidgetLookFeel object which has t he specified name. | Return a const reference to a WidgetLookFeel object which has t he specified name. | |||
\param widget | \param widget | |||
String object holding the name of a widget look that is to be r eturned. | String object holding the name of a widget look that is to be r eturned. | |||
\return | \return | |||
const reference to the requested WidgetLookFeel object. | const reference to the requested WidgetLookFeel object. | |||
\exception UnknownObjectException thrown if no WindowLookFeel is available with the requested name. | \exception UnknownObjectException thrown if no WidgetLookFeel is available with the requested name. | |||
*/ | */ | |||
const WidgetLookFeel& getWidgetLook(const String& widget) const; | const WidgetLookFeel& getWidgetLook(const String& widget) const; | |||
/*! | /*! | |||
\brief | \brief | |||
Erase the WidgetLookFeel that has the specified name. | Erase the WidgetLookFeel that has the specified name. | |||
\param widget | \param widget | |||
String object holding the name of a widget look to be erased. If no such WindowLookFeel exists, nothing | String object holding the name of a widget look to be erased. If no such WidgetLookFeel exists, nothing | |||
happens. | happens. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void eraseWidgetLook(const String& widget); | void eraseWidgetLook(const String& widget); | |||
/*! | /*! | |||
\brief | \brief | |||
Add the given WidgetLookFeel. | Add the given WidgetLookFeel. | |||
End of changes. 6 change blocks. | ||||
7 lines changed or deleted | 7 lines changed or added | |||
CEGUIFont_xmlHandler.h | CEGUIFont_xmlHandler.h | |||
---|---|---|---|---|
skipping to change at line 32 | skipping to change at line 32 | |||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | |||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |||
* OTHER DEALINGS IN THE SOFTWARE. | * OTHER DEALINGS IN THE SOFTWARE. | |||
************************************************************************** */ | ************************************************************************** */ | |||
#ifndef _CEGUIFont_xmlHandler_h_ | #ifndef _CEGUIFont_xmlHandler_h_ | |||
#define _CEGUIFont_xmlHandler_h_ | #define _CEGUIFont_xmlHandler_h_ | |||
#include "CEGUIXMLHandler.h" | #include "CEGUIXMLHandler.h" | |||
#include "CEGUIString.h" | ||||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
//! Handler class used to parse the Font XML files to create Font objects. | //! Handler class used to parse the Font XML files to create Font objects. | |||
class CEGUIEXPORT Font_xmlHandler : public XMLHandler | class CEGUIEXPORT Font_xmlHandler : public XMLHandler | |||
{ | { | |||
public: | public: | |||
//! Filename of the XML schema used for validating Font files. | //! Filename of the XML schema used for validating Font files. | |||
static const String FontSchemaName; | static const String FontSchemaName; | |||
skipping to change at line 60 | skipping to change at line 61 | |||
//! Attribute name that stores the filename of the font source (font / imageset) | //! Attribute name that stores the filename of the font source (font / imageset) | |||
static const String FontFilenameAttribute; | static const String FontFilenameAttribute; | |||
//! Attribute name that stores the resource group of the font source. | //! Attribute name that stores the resource group of the font source. | |||
static const String FontResourceGroupAttribute; | static const String FontResourceGroupAttribute; | |||
//! Attribute name that stores the auto-scaled setting. | //! Attribute name that stores the auto-scaled setting. | |||
static const String FontAutoScaledAttribute; | static const String FontAutoScaledAttribute; | |||
//! Attribute name that stores the horizontal native resolution. | //! Attribute name that stores the horizontal native resolution. | |||
static const String FontNativeHorzResAttribute; | static const String FontNativeHorzResAttribute; | |||
//! Attribute name that stores the vertical native resolution. | //! Attribute name that stores the vertical native resolution. | |||
static const String FontNativeVertResAttribute; | static const String FontNativeVertResAttribute; | |||
//! Attribute name that stores the line height that we'll report for th | ||||
is font. | ||||
static const String FontLineSpacingAttribute; | ||||
//! Attribute name that stores the font point size. | //! Attribute name that stores the font point size. | |||
static const String FontSizeAttribute; | static const String FontSizeAttribute; | |||
//! Attribute name that stores the font anti-aliasing setting. | //! Attribute name that stores the font anti-aliasing setting. | |||
static const String FontAntiAliasedAttribute; | static const String FontAntiAliasedAttribute; | |||
//! Attribute name that stores the codepoint value for a mapping | //! Attribute name that stores the codepoint value for a mapping | |||
static const String MappingCodepointAttribute; | static const String MappingCodepointAttribute; | |||
//! Attribute name that stores the image name for a mapping | //! Attribute name that stores the image name for a mapping | |||
static const String MappingImageAttribute; | static const String MappingImageAttribute; | |||
//! Attribute name that stores the horizontal advance value for a mappi ng. | //! Attribute name that stores the horizontal advance value for a mappi ng. | |||
static const String MappingHorzAdvanceAttribute; | static const String MappingHorzAdvanceAttribute; | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 4 lines changed or added | |||
CEGUIForwardRefs.h | CEGUIForwardRefs.h | |||
---|---|---|---|---|
skipping to change at line 39 | skipping to change at line 39 | |||
************************************************************************** */ | ************************************************************************** */ | |||
#ifndef _CEGUIForwardRefs_h_ | #ifndef _CEGUIForwardRefs_h_ | |||
#define _CEGUIForwardRefs_h_ | #define _CEGUIForwardRefs_h_ | |||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
/************************************************************************* | /************************************************************************* | |||
Forward declare majority of core classes | Forward declare majority of core classes | |||
*************************************************************************/ | *************************************************************************/ | |||
class Affector; | ||||
class Animation; | ||||
class AnimationInstance; | ||||
class AnimationManager; | ||||
class BasicRenderedStringParser; | class BasicRenderedStringParser; | |||
class BiDiVisualMapping; | class BiDiVisualMapping; | |||
class CentredRenderedString; | class CentredRenderedString; | |||
class colour; | class colour; | |||
class ColourRect; | class ColourRect; | |||
class CoordConverter; | class CoordConverter; | |||
class DefaultLogger; | class DefaultLogger; | |||
class DefaultRenderedStringParser; | class DefaultRenderedStringParser; | |||
class DefaultResourceProvider; | class DefaultResourceProvider; | |||
class DynamicModule; | class DynamicModule; | |||
skipping to change at line 65 | skipping to change at line 69 | |||
class FontGlyph; | class FontGlyph; | |||
class FontManager; | class FontManager; | |||
class FormattedRenderedString; | class FormattedRenderedString; | |||
class GeometryBuffer; | class GeometryBuffer; | |||
class GlobalEventSet; | class GlobalEventSet; | |||
class Image; | class Image; | |||
class ImageCodec; | class ImageCodec; | |||
class ImagerySection; | class ImagerySection; | |||
class Imageset; | class Imageset; | |||
class ImagesetManager; | class ImagesetManager; | |||
class Interpolator; | ||||
class JustifiedRenderedString; | class JustifiedRenderedString; | |||
class KeyFrame; | ||||
class LeftAlignedRenderedString; | class LeftAlignedRenderedString; | |||
class Logger; | class Logger; | |||
class MouseCursor; | class MouseCursor; | |||
class Property; | class Property; | |||
class PropertyHelper; | class PropertyHelper; | |||
class PropertyReceiver; | class PropertyReceiver; | |||
class PropertySet; | class PropertySet; | |||
class RawDataContainer; | class RawDataContainer; | |||
class Rect; | class Rect; | |||
class RegexMatcher; | class RegexMatcher; | |||
class RenderedString; | class RenderedString; | |||
class RenderedStringComponent; | class RenderedStringComponent; | |||
class RenderedStringImageComponent; | class RenderedStringImageComponent; | |||
class RenderedStringParser; | class RenderedStringParser; | |||
class RenderedStringTextComponent; | class RenderedStringTextComponent; | |||
class RenderedStringWidgetComponent; | class RenderedStringWidgetComponent; | |||
class Renderer; | class Renderer; | |||
class RenderEffect; | class RenderEffect; | |||
class RenderEffectManager; | ||||
struct RenderingContext; | struct RenderingContext; | |||
class RenderingRoot; | class RenderingRoot; | |||
class RenderingSurface; | class RenderingSurface; | |||
class RenderingWindow; | class RenderingWindow; | |||
class RenderQueue; | class RenderQueue; | |||
class RenderSystem; | class RenderSystem; | |||
class RenderTarget; | class RenderTarget; | |||
class ResourceEventSet; | class ResourceEventSet; | |||
class ResourceProvider; | class ResourceProvider; | |||
class RightAlignedRenderedString; | class RightAlignedRenderedString; | |||
class Scheme; | class Scheme; | |||
class SchemeManager; | class SchemeManager; | |||
class ScriptFunctor; | class ScriptFunctor; | |||
class ScriptModule; | class ScriptModule; | |||
class Size; | class Size; | |||
class String; | class String; | |||
class System; | class System; | |||
class Texture; | class Texture; | |||
class TextureTarget; | class TextureTarget; | |||
class TextUtils; | class TextUtils; | |||
class UBox; | ||||
class UDim; | ||||
class URect; | ||||
class UVector2; | ||||
class Vector2; | class Vector2; | |||
class Vector3; | class Vector3; | |||
struct Vertex; | struct Vertex; | |||
class WidgetLookFeel; | class WidgetLookFeel; | |||
class Window; | class Window; | |||
class WindowFactory; | class WindowFactory; | |||
class WindowFactoryManager; | class WindowFactoryManager; | |||
class WindowManager; | class WindowManager; | |||
class WindowRenderer; | class WindowRenderer; | |||
class WindowRendererModule; | class WindowRendererModule; | |||
skipping to change at line 130 | skipping to change at line 141 | |||
Forward declare window / widget classes. | Forward declare window / widget classes. | |||
*************************************************************************/ | *************************************************************************/ | |||
class ButtonBase; | class ButtonBase; | |||
class Checkbox; | class Checkbox; | |||
class ClippedContainer; | class ClippedContainer; | |||
class Combobox; | class Combobox; | |||
class ComboDropList; | class ComboDropList; | |||
class DragContainer; | class DragContainer; | |||
class Editbox; | class Editbox; | |||
class FrameWindow; | class FrameWindow; | |||
class GridLayoutContainer; | ||||
class GUISheet; | class GUISheet; | |||
class HorizontalLayoutContainer; | ||||
class ItemEntry; | class ItemEntry; | |||
class ItemListBase; | class ItemListBase; | |||
class ItemListbox; | class ItemListbox; | |||
class LayoutContainer; | ||||
class Listbox; | class Listbox; | |||
class ListboxItem; | class ListboxItem; | |||
class ListboxTextItem; | class ListboxTextItem; | |||
class ListHeader; | class ListHeader; | |||
class ListHeaderSegment; | class ListHeaderSegment; | |||
class Menubar; | class Menubar; | |||
class MenuBase; | class MenuBase; | |||
class MenuItem; | class MenuItem; | |||
class MultiColumnList; | class MultiColumnList; | |||
class MultiLineEditbox; | class MultiLineEditbox; | |||
class PopupMenu; | class PopupMenu; | |||
class ProgressBar; | class ProgressBar; | |||
class PushButton; | class PushButton; | |||
class RadioButton; | class RadioButton; | |||
class ScrollablePane; | class ScrollablePane; | |||
class Scrollbar; | class Scrollbar; | |||
class ScrolledContainer; | class ScrolledContainer; | |||
class ScrolledItemListBase; | class ScrolledItemListBase; | |||
class SequentialLayoutContainer; | ||||
class Slider; | class Slider; | |||
class Spinner; | class Spinner; | |||
class TabButton; | class TabButton; | |||
class TabControl; | class TabControl; | |||
class Thumb; | class Thumb; | |||
class Titlebar; | class Titlebar; | |||
class Tooltip; | class Tooltip; | |||
class Tree; | class Tree; | |||
class TreeItem; | class TreeItem; | |||
class VerticalLayoutContainer; | ||||
/************************************************************************* | /************************************************************************* | |||
Forward declare EventArg based classes. | Forward declare EventArg based classes. | |||
*************************************************************************/ | *************************************************************************/ | |||
class ActivationEventArgs; | class ActivationEventArgs; | |||
class DisplayEventArgs; | class DisplayEventArgs; | |||
class DragDropEventArgs; | class DragDropEventArgs; | |||
class HeaderSequenceEventArgs; | class HeaderSequenceEventArgs; | |||
class KeyEventArgs; | class KeyEventArgs; | |||
class MouseCursorEventArgs; | class MouseCursorEventArgs; | |||
End of changes. 10 change blocks. | ||||
0 lines changed or deleted | 16 lines changed or added | |||
CEGUIFrameWindow.h | CEGUIFrameWindow.h | |||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
class CEGUIEXPORT FrameWindow : public Window | class CEGUIEXPORT FrameWindow : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// additional event names for this window | // additional event names for this window | |||
static const String EventRollupToggled; //!< Fired when the | /** Event fired when the rollup (shade) state of the window is changed. | |||
rollup (shade) state of the window changes | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventCloseClicked; //!< Fired when the | * WindowEventArgs::window set to the FrameWindow whose rolled up state | |||
close button for the window is clicked. | * has been changed. | |||
//! Fired when drag-sizing of the window starts. | */ | |||
static const String EventRollupToggled; | ||||
/** Event fired when the close button for the window is clicked. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the FrameWindow whose close button wa | ||||
s | ||||
* clicked. | ||||
*/ | ||||
static const String EventCloseClicked; | ||||
/** Event fired when drag-sizing of the window starts. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the FrameWindow that has started to b | ||||
e | ||||
* drag sized. | ||||
*/ | ||||
static const String EventDragSizingStarted; | static const String EventDragSizingStarted; | |||
//! Fired when drag-sizing of the window ends. | /** Event fired when drag-sizing of the window ends. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the FrameWindow for which drag sizing | ||||
has | ||||
* ended. | ||||
*/ | ||||
static const String EventDragSizingEnded; | static const String EventDragSizingEnded; | |||
// other bits | // other bits | |||
static const float DefaultSizingBorderSize; //!< Default size for the sizing border (in pixels) | static const float DefaultSizingBorderSize; //!< Default size for the sizing border (in pixels) | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String TitlebarNameSuffix; //!< Widget name suffix fo r the titlebar component. | static const String TitlebarNameSuffix; //!< Widget name suffix fo r the titlebar component. | |||
static const String CloseButtonNameSuffix; //!< Widget name suffix fo r the close button component. | static const String CloseButtonNameSuffix; //!< Widget name suffix fo r the close button component. | |||
skipping to change at line 474 | skipping to change at line 492 | |||
*/ | */ | |||
PushButton* getCloseButton() const; | PushButton* getCloseButton() const; | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Construction / Destruction | Construction / Destruction | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor for FrameWindow objects. | Constructor for FrameWindow objects. | |||
*/ | */ | |||
FrameWindow(const String& name, const String& type); | FrameWindow(const String& type, const String& name); | |||
/*! | /*! | |||
\brief | \brief | |||
Destructor for FramwWindow objects. | Destructor for FramwWindow objects. | |||
*/ | */ | |||
virtual ~FrameWindow(void); | virtual ~FrameWindow(void); | |||
protected: | protected: | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Implementation Functions | Implementation Functions | |||
End of changes. 3 change blocks. | ||||
7 lines changed or deleted | 26 lines changed or added | |||
CEGUIFreeTypeFont.h | CEGUIFreeTypeFont.h | |||
---|---|---|---|---|
skipping to change at line 90 | skipping to change at line 90 | |||
maintain the same physical size (which is calculated by using the | maintain the same physical size (which is calculated by using the | |||
native resolution setting). | native resolution setting). | |||
\param native_horz_res | \param native_horz_res | |||
The horizontal native resolution value. This is only significant w hen | The horizontal native resolution value. This is only significant w hen | |||
auto scaling is enabled. | auto scaling is enabled. | |||
\param native_vert_res | \param native_vert_res | |||
The vertical native resolution value. This is only significant whe n | The vertical native resolution value. This is only significant whe n | |||
auto scaling is enabled. | auto scaling is enabled. | |||
\param specific_line_spacing | ||||
If specified (non-zero), this will be the line spacing that we will | ||||
report for this font, regardless of what is mentioned in the font f | ||||
ile | ||||
itself. | ||||
*/ | */ | |||
FreeTypeFont(const String& font_name, const float point_size, | FreeTypeFont(const String& font_name, const float point_size, | |||
const bool anti_aliased, const String& font_filename, | const bool anti_aliased, const String& font_filename, | |||
const String& resource_group = "", | const String& resource_group = "", | |||
const bool auto_scaled = false, | const bool auto_scaled = false, | |||
const float native_horz_res = 640.0f, | const float native_horz_res = 640.0f, | |||
const float native_vert_res = 480.0f); | const float native_vert_res = 480.0f, | |||
const float specific_line_spacing = 0.0f); | ||||
//! Destructor. | //! Destructor. | |||
~FreeTypeFont(); | ~FreeTypeFont(); | |||
//! return the point size of the freetype font. | //! return the point size of the freetype font. | |||
float getPointSize() const; | float getPointSize() const; | |||
//! return whether the freetype font is rendered anti-aliased. | //! return whether the freetype font is rendered anti-aliased. | |||
bool isAntiAliased() const; | bool isAntiAliased() const; | |||
skipping to change at line 153 | skipping to change at line 159 | |||
//! Register all properties of this class. | //! Register all properties of this class. | |||
void addFreeTypeFontProperties(); | void addFreeTypeFontProperties(); | |||
//! Free all allocated font data. | //! Free all allocated font data. | |||
void free(); | void free(); | |||
// overrides of functions in Font base class. | // overrides of functions in Font base class. | |||
void rasterise(utf32 start_codepoint, utf32 end_codepoint) const; | void rasterise(utf32 start_codepoint, utf32 end_codepoint) const; | |||
void updateFont(); | void updateFont(); | |||
void writeXMLToStream_impl (XMLSerializer& xml_stream) const; | void writeXMLToStream_impl (XMLSerializer& xml_stream) const; | |||
//! If non-zero, the overridden line spacing that we're to report. | ||||
float d_specificLineSpacing; | ||||
//! Point size of font. | //! Point size of font. | |||
float d_ptSize; | float d_ptSize; | |||
//! True if the font should be rendered as anti-alaised by freeType. | //! True if the font should be rendered as anti-alaised by freeType. | |||
bool d_antiAliased; | bool d_antiAliased; | |||
//! FreeType-specific font handle | //! FreeType-specific font handle | |||
FT_Face d_fontFace; | FT_Face d_fontFace; | |||
//! Font file data | //! Font file data | |||
RawDataContainer d_fontData; | RawDataContainer d_fontData; | |||
//! Type definition for ImagesetVector. | //! Type definition for ImagesetVector. | |||
typedef std::vector<Imageset*> ImagesetVector; | typedef std::vector<Imageset*> ImagesetVector; | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 10 lines changed or added | |||
CEGUIGeometryBuffer.h | CEGUIGeometryBuffer.h | |||
---|---|---|---|---|
/*********************************************************************** | /*********************************************************************** | |||
filename: CEGUIGeometryBuffer.h | filename: CEGUIGeometryBuffer.h | |||
created: Thu Jan 8 2009 | created: Thu Jan 8 2009 | |||
author: Paul D Turner | author: Paul D Turner | |||
*************************************************************************/ | *************************************************************************/ | |||
/************************************************************************** * | /************************************************************************** * | |||
* Copyright (C) 2004 - 2009 Paul D Turner & The CEGUI Development Team | * Copyright (C) 2004 - 2010 Paul D Turner & The CEGUI Development Team | |||
* | * | |||
* Permission is hereby granted, free of charge, to any person obtaining | * Permission is hereby granted, free of charge, to any person obtaining | |||
* a copy of this software and associated documentation files (the | * a copy of this software and associated documentation files (the | |||
* "Software"), to deal in the Software without restriction, including | * "Software"), to deal in the Software without restriction, including | |||
* without limitation the rights to use, copy, modify, merge, publish, | * without limitation the rights to use, copy, modify, merge, publish, | |||
* distribute, sublicense, and/or sell copies of the Software, and to | * distribute, sublicense, and/or sell copies of the Software, and to | |||
* permit persons to whom the Software is furnished to do so, subject to | * permit persons to whom the Software is furnished to do so, subject to | |||
* the following conditions: | * the following conditions: | |||
* | * | |||
* The above copyright notice and this permission notice shall be | * The above copyright notice and this permission notice shall be | |||
skipping to change at line 32 | skipping to change at line 32 | |||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | |||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |||
* OTHER DEALINGS IN THE SOFTWARE. | * OTHER DEALINGS IN THE SOFTWARE. | |||
************************************************************************** */ | ************************************************************************** */ | |||
#ifndef _CEGUIGeometryBuffer_h_ | #ifndef _CEGUIGeometryBuffer_h_ | |||
#define _CEGUIGeometryBuffer_h_ | #define _CEGUIGeometryBuffer_h_ | |||
#include "CEGUIBase.h" | #include "CEGUIBase.h" | |||
#include "CEGUIRenderer.h" | ||||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
/*! | /*! | |||
\brief | \brief | |||
Abstract class defining the interface for objects that buffer geometry for | Abstract class defining the interface for objects that buffer geometry for | |||
later rendering. | later rendering. | |||
*/ | */ | |||
class CEGUIEXPORT GeometryBuffer | class CEGUIEXPORT GeometryBuffer | |||
{ | { | |||
public: | public: | |||
//! Destructor | //! Destructor | |||
virtual ~GeometryBuffer() | virtual ~GeometryBuffer(); | |||
{} | ||||
/*! | /*! | |||
\brief | \brief | |||
Draw the geometry buffered within this GeometryBuffer object. | Draw the geometry buffered within this GeometryBuffer object. | |||
*/ | */ | |||
virtual void draw() const = 0; | virtual void draw() const = 0; | |||
/*! | /*! | |||
\brief | \brief | |||
Set the translation to be applied to the geometry in the buffer whe n it | Set the translation to be applied to the geometry in the buffer whe n it | |||
skipping to change at line 189 | skipping to change at line 189 | |||
be in use! | be in use! | |||
*/ | */ | |||
virtual void setRenderEffect(RenderEffect* effect) = 0; | virtual void setRenderEffect(RenderEffect* effect) = 0; | |||
/*! | /*! | |||
\brief | \brief | |||
Return the RenderEffect object that is assigned to this GeometryBuf fer | Return the RenderEffect object that is assigned to this GeometryBuf fer | |||
or 0 if none. | or 0 if none. | |||
*/ | */ | |||
virtual RenderEffect* getRenderEffect() = 0; | virtual RenderEffect* getRenderEffect() = 0; | |||
/*! | ||||
\brief | ||||
Set the blend mode option to use when rendering this GeometryBuffer | ||||
. | ||||
\note | ||||
The blend mode setting is not a 'state' setting, but is used for \e | ||||
all | ||||
geometry added to the buffer regardless of when the blend mode is s | ||||
et. | ||||
\param mode | ||||
One of the BlendMode enumerated values indicating the blending mode | ||||
to | ||||
be used. | ||||
*/ | ||||
virtual void setBlendMode(const BlendMode mode); | ||||
/*! | ||||
\brief | ||||
Return the blend mode that is set to be used for this GeometryBuffe | ||||
r. | ||||
\return | ||||
One of the BlendMode enumerated values indicating the blending mode | ||||
that will be used when rendering all geometry added to this | ||||
GeometryBuffer object. | ||||
*/ | ||||
virtual BlendMode getBlendMode() const; | ||||
protected: | ||||
//! Constructor. | ||||
GeometryBuffer(); | ||||
//! The BlendMode to use when rendering this GeometryBuffer. | ||||
BlendMode d_blendMode; | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIGeometryBuffer_h_ | #endif // end of guard _CEGUIGeometryBuffer_h_ | |||
End of changes. 4 change blocks. | ||||
3 lines changed or deleted | 40 lines changed or added | |||
CEGUIImageset_xmlHandler.h | CEGUIImageset_xmlHandler.h | |||
---|---|---|---|---|
skipping to change at line 32 | skipping to change at line 32 | |||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | |||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |||
* OTHER DEALINGS IN THE SOFTWARE. | * OTHER DEALINGS IN THE SOFTWARE. | |||
************************************************************************** */ | ************************************************************************** */ | |||
#ifndef _CEGUIImageset_xmlHandler_h_ | #ifndef _CEGUIImageset_xmlHandler_h_ | |||
#define _CEGUIImageset_xmlHandler_h_ | #define _CEGUIImageset_xmlHandler_h_ | |||
#include "CEGUIXMLHandler.h" | #include "CEGUIXMLHandler.h" | |||
#include "CEGUIString.h" | ||||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
//! Class used to parse the Imageset XML files to create Imageset objects | //! Class used to parse the Imageset XML files to create Imageset objects | |||
class CEGUIEXPORT Imageset_xmlHandler : public XMLHandler | class CEGUIEXPORT Imageset_xmlHandler : public XMLHandler | |||
{ | { | |||
public: | public: | |||
//! Constructor. | //! Constructor. | |||
Imageset_xmlHandler(const String& filename, const String& resource_grou p); | Imageset_xmlHandler(const String& filename, const String& resource_grou p); | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
CEGUIInputEvent.h | CEGUIInputEvent.h | |||
---|---|---|---|---|
skipping to change at line 180 | skipping to change at line 180 | |||
ArrowUp =0xC8, /* UpArrow on arrow keypad */ | ArrowUp =0xC8, /* UpArrow on arrow keypad */ | |||
PageUp =0xC9, /* PgUp on arrow keypad */ | PageUp =0xC9, /* PgUp on arrow keypad */ | |||
ArrowLeft =0xCB, /* LeftArrow on arrow keypad */ | ArrowLeft =0xCB, /* LeftArrow on arrow keypad */ | |||
ArrowRight =0xCD, /* RightArrow on arrow keypad */ | ArrowRight =0xCD, /* RightArrow on arrow keypad */ | |||
End =0xCF, /* End on arrow keypad */ | End =0xCF, /* End on arrow keypad */ | |||
ArrowDown =0xD0, /* DownArrow on arrow keypad */ | ArrowDown =0xD0, /* DownArrow on arrow keypad */ | |||
PageDown =0xD1, /* PgDn on arrow keypad */ | PageDown =0xD1, /* PgDn on arrow keypad */ | |||
Insert =0xD2, /* Insert on arrow keypad */ | Insert =0xD2, /* Insert on arrow keypad */ | |||
Delete =0xD3, /* Delete on arrow keypad */ | Delete =0xD3, /* Delete on arrow keypad */ | |||
LeftWindows =0xDB, /* Left Windows key */ | LeftWindows =0xDB, /* Left Windows key */ | |||
RightWindow =0xDC, /* Right Windows key */ | ||||
RightWindows =0xDC, /* Right Windows key - Correct spelling : ) */ | RightWindows =0xDC, /* Right Windows key - Correct spelling : ) */ | |||
AppMenu =0xDD, /* AppMenu key */ | AppMenu =0xDD, /* AppMenu key */ | |||
Power =0xDE, /* System Power */ | Power =0xDE, /* System Power */ | |||
Sleep =0xDF, /* System Sleep */ | Sleep =0xDF, /* System Sleep */ | |||
Wake =0xE3, /* System Wake */ | Wake =0xE3, /* System Wake */ | |||
WebSearch =0xE5, /* Web Search */ | WebSearch =0xE5, /* Web Search */ | |||
WebFavorites =0xE6, /* Web Favorites */ | WebFavorites =0xE6, /* Web Favorites */ | |||
WebRefresh =0xE7, /* Web Refresh */ | WebRefresh =0xE7, /* Web Refresh */ | |||
WebStop =0xE8, /* Web Stop */ | WebStop =0xE8, /* Web Stop */ | |||
WebForward =0xE9, /* Web Forward */ | WebForward =0xE9, /* Web Forward */ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 0 lines changed or added | |||
CEGUIIrrlichtEventPusher.h | CEGUIIrrlichtEventPusher.h | |||
---|---|---|---|---|
skipping to change at line 42 | skipping to change at line 42 | |||
#include <irrlicht.h> | #include <irrlicht.h> | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
using namespace irr; | using namespace irr; | |||
class IrrlichtEventPusher | class IrrlichtEventPusher | |||
{ | { | |||
gui::ICursorControl* d_cursorctrl; | gui::ICursorControl* d_cursorctrl; | |||
core::position2d<s32> d_pos; | ||||
core::position2d<s32> d_dpos; | ||||
public : | public : | |||
IrrlichtEventPusher(irr::gui::ICursorControl* ctrl) : | IrrlichtEventPusher(irr::gui::ICursorControl* ctrl) : | |||
d_cursorctrl(ctrl) | d_cursorctrl(ctrl) | |||
{ | { | |||
d_cursorctrl->setPosition(0.5f, 0.5f); | ||||
d_pos = d_cursorctrl->getPosition(); | ||||
d_dpos.X = 0; | ||||
d_dpos.Y = 0; | ||||
initCodes(); | initCodes(); | |||
}; | }; | |||
virtual ~IrrlichtEventPusher(){}; | virtual ~IrrlichtEventPusher(){}; | |||
bool OnEvent(const SEvent& event) | bool OnEvent(const SEvent& event) | |||
{ | { | |||
switch (event.EventType) | switch (event.EventType) | |||
{ | { | |||
case EET_KEY_INPUT_EVENT : | case EET_KEY_INPUT_EVENT : | |||
skipping to change at line 233 | skipping to change at line 226 | |||
irr2ceCODE[KEY_KEY_R ] = Key::R; // R key | irr2ceCODE[KEY_KEY_R ] = Key::R; // R key | |||
irr2ceCODE[KEY_KEY_S ] = Key::S; // S key | irr2ceCODE[KEY_KEY_S ] = Key::S; // S key | |||
irr2ceCODE[KEY_KEY_T ] = Key::T; // T key | irr2ceCODE[KEY_KEY_T ] = Key::T; // T key | |||
irr2ceCODE[KEY_KEY_U ] = Key::U; // U key | irr2ceCODE[KEY_KEY_U ] = Key::U; // U key | |||
irr2ceCODE[KEY_KEY_V ] = Key::V; // V key | irr2ceCODE[KEY_KEY_V ] = Key::V; // V key | |||
irr2ceCODE[KEY_KEY_W ] = Key::W; // W key | irr2ceCODE[KEY_KEY_W ] = Key::W; // W key | |||
irr2ceCODE[KEY_KEY_X ] = Key::X; // X key | irr2ceCODE[KEY_KEY_X ] = Key::X; // X key | |||
irr2ceCODE[KEY_KEY_Y ] = Key::Y; // Y key | irr2ceCODE[KEY_KEY_Y ] = Key::Y; // Y key | |||
irr2ceCODE[KEY_KEY_Z ] = Key::Z; // Z key | irr2ceCODE[KEY_KEY_Z ] = Key::Z; // Z key | |||
irr2ceCODE[KEY_LWIN ] = Key::LeftWindows; // Left Windows key (Microsoft� Natural� keyboard) | irr2ceCODE[KEY_LWIN ] = Key::LeftWindows; // Left Windows key (Microsoft� Natural� keyboard) | |||
irr2ceCODE[KEY_RWIN ] = Key::RightWindow; // Right Windows ke y (Natural keyboard) | irr2ceCODE[KEY_RWIN ] = Key::RightWindows; // Right Windows k ey (Natural keyboard) | |||
irr2ceCODE[KEY_APPS ] = Key::AppMenu; //Applications key (Nat ural keyboard) | irr2ceCODE[KEY_APPS ] = Key::AppMenu; //Applications key (Nat ural keyboard) | |||
irr2ceCODE[KEY_SLEEP ] = Key::Sleep; // Computer Sleep key | irr2ceCODE[KEY_SLEEP ] = Key::Sleep; // Computer Sleep key | |||
irr2ceCODE[KEY_NUMPAD0 ] = Key::Numpad0; // Numeric keypad 0 key | irr2ceCODE[KEY_NUMPAD0 ] = Key::Numpad0; // Numeric keypad 0 key | |||
irr2ceCODE[KEY_NUMPAD1 ] = Key::Numpad1; // Numeric keypad 1 key | irr2ceCODE[KEY_NUMPAD1 ] = Key::Numpad1; // Numeric keypad 1 key | |||
irr2ceCODE[KEY_NUMPAD2 ] = Key::Numpad2; // Numeric keypad 2 key | irr2ceCODE[KEY_NUMPAD2 ] = Key::Numpad2; // Numeric keypad 2 key | |||
irr2ceCODE[KEY_NUMPAD3 ] = Key::Numpad3; // Numeric keypad 3 key | irr2ceCODE[KEY_NUMPAD3 ] = Key::Numpad3; // Numeric keypad 3 key | |||
irr2ceCODE[KEY_NUMPAD4 ] = Key::Numpad4; // Numeric keypad 4 key | irr2ceCODE[KEY_NUMPAD4 ] = Key::Numpad4; // Numeric keypad 4 key | |||
irr2ceCODE[KEY_NUMPAD5 ] = Key::Numpad5; // Numeric keypad 5 key | irr2ceCODE[KEY_NUMPAD5 ] = Key::Numpad5; // Numeric keypad 5 key | |||
irr2ceCODE[KEY_NUMPAD6 ] = Key::Numpad6; // Numeric keypad 6 key | irr2ceCODE[KEY_NUMPAD6 ] = Key::Numpad6; // Numeric keypad 6 key | |||
irr2ceCODE[KEY_NUMPAD7 ] = Key::Numpad7; // Numeric keypad 7 key | irr2ceCODE[KEY_NUMPAD7 ] = Key::Numpad7; // Numeric keypad 7 key | |||
End of changes. 3 change blocks. | ||||
8 lines changed or deleted | 1 lines changed or added | |||
CEGUIIrrlichtGeometryBuffer.h | CEGUIIrrlichtGeometryBuffer.h | |||
---|---|---|---|---|
skipping to change at line 58 | skipping to change at line 58 | |||
//! GeometryBuffer implementation for the Irrlicht engine. | //! GeometryBuffer implementation for the Irrlicht engine. | |||
class IRR_GUIRENDERER_API IrrlichtGeometryBuffer : public GeometryBuffer | class IRR_GUIRENDERER_API IrrlichtGeometryBuffer : public GeometryBuffer | |||
{ | { | |||
public: | public: | |||
//! constructor | //! constructor | |||
IrrlichtGeometryBuffer(irr::video::IVideoDriver& driver); | IrrlichtGeometryBuffer(irr::video::IVideoDriver& driver); | |||
//! return the transformation matrix used for this buffer. | //! return the transformation matrix used for this buffer. | |||
const irr::core::matrix4& getMatrix() const; | const irr::core::matrix4& getMatrix() const; | |||
//! return reference to the Irrlicht material used with this GeometryBu | ||||
ffer. | ||||
irr::video::SMaterial& getMaterial(); | ||||
//! return reference to the Irrlicht material used with this GeometryBu | ||||
ffer. | ||||
const irr::video::SMaterial& getMaterial() const; | ||||
// implement GeometryBuffer interface | // implement GeometryBuffer interface | |||
void draw() const; | void draw() const; | |||
void setTranslation(const Vector3& v); | void setTranslation(const Vector3& v); | |||
void setRotation(const Vector3& r); | void setRotation(const Vector3& r); | |||
void setPivot(const Vector3& p); | void setPivot(const Vector3& p); | |||
void setClippingRegion(const Rect& region); | void setClippingRegion(const Rect& region); | |||
void appendVertex(const Vertex& vertex); | void appendVertex(const Vertex& vertex); | |||
void appendGeometry(const Vertex* const vbuff, uint vertex_count); | void appendGeometry(const Vertex* const vbuff, uint vertex_count); | |||
void setActiveTexture(Texture* texture); | void setActiveTexture(Texture* texture); | |||
void reset(); | void reset(); | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 7 lines changed or added | |||
CEGUIIrrlichtTexture.h | CEGUIIrrlichtTexture.h | |||
---|---|---|---|---|
skipping to change at line 99 | skipping to change at line 99 | |||
IrrlichtTexture(IrrlichtRenderer& owner, irr::video::IVideoDriver& driv er); | IrrlichtTexture(IrrlichtRenderer& owner, irr::video::IVideoDriver& driv er); | |||
//! Construct a texture from the specified file. | //! Construct a texture from the specified file. | |||
IrrlichtTexture(IrrlichtRenderer& owner, irr::video::IVideoDriver& driv er, | IrrlichtTexture(IrrlichtRenderer& owner, irr::video::IVideoDriver& driv er, | |||
const String& filename, const String& resourceGroup); | const String& filename, const String& resourceGroup); | |||
//! Construct a texture with the given size. | //! Construct a texture with the given size. | |||
IrrlichtTexture(IrrlichtRenderer& owner, irr::video::IVideoDriver& driv er, | IrrlichtTexture(IrrlichtRenderer& owner, irr::video::IVideoDriver& driv er, | |||
const Size& size); | const Size& size); | |||
//! destructor. | //! destructor. | |||
~IrrlichtTexture(); | ~IrrlichtTexture(); | |||
//! create the underlying Irrlicht texture with the given size | ||||
void createIrrlichtTexture(const Size& sz); | ||||
//! release the underlying irrlicht texture currently used. | //! release the underlying irrlicht texture currently used. | |||
void freeIrrlichtTexture(); | void freeIrrlichtTexture(); | |||
//! updates cached scale value used to map pixels to texture co-ords. | //! updates cached scale value used to map pixels to texture co-ords. | |||
void updateCachedScaleValues(); | void updateCachedScaleValues(); | |||
//! Counter used to provide unique texture names. | //! Counter used to provide unique texture names. | |||
static uint32 d_textureNumber; | static uint32 d_textureNumber; | |||
//! Irrlicht video driver we're to use. | //! Irrlicht video driver we're to use. | |||
irr::video::IVideoDriver& d_driver; | irr::video::IVideoDriver& d_driver; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 3 lines changed or added | |||
CEGUIItemEntry.h | CEGUIItemEntry.h | |||
---|---|---|---|---|
skipping to change at line 85 | skipping to change at line 85 | |||
Fire events on selection / deselection. | Fire events on selection / deselection. | |||
(Maybe selectable mode changed as well?) | (Maybe selectable mode changed as well?) | |||
*/ | */ | |||
class CEGUIEXPORT ItemEntry : public Window | class CEGUIEXPORT ItemEntry : public Window | |||
{ | { | |||
public: | public: | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Constants | Constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
static const String EventSelectionChanged; //!< Event fired when sel | /** Event fired when the item's selection state changes. | |||
ection state changes. | * Handlers are passed a const WindowEventArgs reference with | |||
* WindowEventArgs::window set to the ItemEntry whose selection state h | ||||
as | ||||
* changed. | ||||
*/ | ||||
static const String EventSelectionChanged; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Accessors | Accessors | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Return the "optimal" size for the item | Return the "optimal" size for the item | |||
\return | \return | |||
Size describing the size in pixel that this ItemEntry's cont ent requires | Size describing the size in pixel that this ItemEntry's cont ent requires | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 7 lines changed or added | |||
CEGUIItemListBase.h | CEGUIItemListBase.h | |||
---|---|---|---|---|
skipping to change at line 101 | skipping to change at line 101 | |||
UserSort | UserSort | |||
}; | }; | |||
//!< Sorting callback type | //!< Sorting callback type | |||
typedef bool (*SortCallback)(const ItemEntry* a, const ItemEntry* b); | typedef bool (*SortCallback)(const ItemEntry* a, const ItemEntry* b); | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// event names | // event names | |||
static const String EventListContentsChanged; //!< | /** Event fired when the contents of the list is changed. | |||
Event triggered when the contents of the list is changed. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventSortEnabledChanged; //!< Event fired when the | * WindowEventArgs::window set to the ItemListBase whose contents | |||
sort enabled state changes. | * has changed. | |||
static const String EventSortModeChanged; //!< Event fired when the sor | */ | |||
t mode changes. | static const String EventListContentsChanged; | |||
/** Event fired when the sort enabled state of the list is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ItemListBase whose sort enabled m | ||||
ode | ||||
* has been changed. | ||||
*/ | ||||
static const String EventSortEnabledChanged; | ||||
/** Event fired when the sort mode of the list is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ItemListBase whose sorting mode | ||||
* has been changed. | ||||
*/ | ||||
static const String EventSortModeChanged; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Accessor Methods | Accessor Methods | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Return number of items attached to the list | Return number of items attached to the list | |||
\return | \return | |||
the number of items currently attached to this list. | the number of items currently attached to this list. | |||
End of changes. 1 change blocks. | ||||
6 lines changed or deleted | 19 lines changed or added | |||
CEGUIItemListbox.h | CEGUIItemListbox.h | |||
---|---|---|---|---|
skipping to change at line 56 | skipping to change at line 56 | |||
*/ | */ | |||
class CEGUIEXPORT ItemListbox : public ScrolledItemListBase | class CEGUIEXPORT ItemListbox : public ScrolledItemListBase | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory name | static const String WidgetTypeName; //!< Window factory name | |||
/********************************************************************** ** | /********************************************************************** ** | |||
Constants | Constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String EventSelectionChanged; //!< Event fired when the se | /** Event fired when the list selection changes. | |||
lection changes. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventMultiSelectModeChanged; //!< Event fired when | * WindowEventArgs::window set to the ItemListbox whose current selecti | |||
the multiselect mode changes. | on | |||
* has been changed. | ||||
*/ | ||||
static const String EventSelectionChanged; | ||||
/** Event fired when the multiselect mode of the list box is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ItemListbox whose multiselect mod | ||||
e | ||||
* has been changed. | ||||
*/ | ||||
static const String EventMultiSelectModeChanged; | ||||
/********************************************************************** ** | /********************************************************************** ** | |||
Accessors | Accessors | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
/*! | /*! | |||
\brief | \brief | |||
Returns the number of selected items in this ItemListbox. | Returns the number of selected items in this ItemListbox. | |||
*/ | */ | |||
size_t getSelectedCount(void) const; | size_t getSelectedCount(void) const; | |||
End of changes. 1 change blocks. | ||||
4 lines changed or deleted | 14 lines changed or added | |||
CEGUIIteratorBase.h | CEGUIIteratorBase.h | |||
---|---|---|---|---|
skipping to change at line 215 | skipping to change at line 215 | |||
{ | { | |||
return d_currIter == rhs.d_currIter; | return d_currIter == rhs.d_currIter; | |||
} | } | |||
/*! | /*! | |||
\brief | \brief | |||
Compares two iterators. Return true if the current position of the iterators are different. | Compares two iterators. Return true if the current position of the iterators are different. | |||
*/ | */ | |||
bool operator!=(const ConstBaseIterator<T>& rhs) const | bool operator!=(const ConstBaseIterator<T>& rhs) const | |||
{ | { | |||
return !this == rhs; | return !operator==(rhs); | |||
} | } | |||
/*! | /*! | |||
\brief | \brief | |||
Return the value for the current iterator position. | Return the value for the current iterator position. | |||
*/ | */ | |||
mapped_type operator*() const | mapped_type operator*() const | |||
{ | { | |||
return d_currIter->second; | return d_currIter->second; | |||
} | } | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
CEGUIListHeader.h | CEGUIListHeader.h | |||
---|---|---|---|---|
skipping to change at line 113 | skipping to change at line 113 | |||
class CEGUIEXPORT ListHeader : public Window | class CEGUIEXPORT ListHeader : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// Event names | // Event names | |||
static const String EventSortColumnChanged; //!< | /** Event fired when the current sort column of the header is changed. | |||
Event fired when the current sort column changes. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventSortDirectionChanged; //!< Event f | * WindowEventArgs::window set to the ListHeader whose sort column has | |||
ired when the sort direction changes. | * been changed. | |||
static const String EventSegmentSized; //!< | */ | |||
Event fired when a segment has been sized by the user (e.window is the seg | static const String EventSortColumnChanged; | |||
ment). | /** Event fired when the sort direction of the header is changed. | |||
static const String EventSegmentClicked; | * Handlers are passed a const WindowEventArgs reference with | |||
//!< Event fired when a segment has been clicked by the user (e.window | * WindowEventArgs::window set to the ListHeader whose sort direction h | |||
is the segment). | ad | |||
static const String EventSplitterDoubleClicked; //!< Event f | * been changed. | |||
ired when a segment splitter has been double-clicked. (e.window is the seg | */ | |||
ment). | static const String EventSortDirectionChanged; | |||
static const String EventSegmentSequenceChanged; //!< | /** Event fired when a segment of the header is sized by the user. | |||
Event fired when the order of the segments has changed. ('e' is a HeaderS | * Handlers are passed a const WindowEventArgs reference with | |||
equenceEventArgs&) | * WindowEventArgs::window set to the ListHeaderSegment that has been s | |||
static const String EventSegmentAdded; //!< | ized. | |||
Event fired when a segment is added to the header. | */ | |||
static const String EventSegmentRemoved; | static const String EventSegmentSized; | |||
//!< Event fired when a segment is removed from the header. | /** Event fired when a segment of the header is clicked by the user. | |||
static const String EventSortSettingChanged; //!< | * Handlers are passed a const WindowEventArgs reference with | |||
Event fired when setting that controls user modification to sort configura | * WindowEventArgs::window set to the ListHeaderSegment that was clicke | |||
tion changes. | d. | |||
static const String EventDragMoveSettingChanged; //!< | */ | |||
Event fired when setting that controls user drag & drop of segments change | static const String EventSegmentClicked; | |||
s. | /** Event fired when a segment splitter of the header is double-clicked | |||
static const String EventDragSizeSettingChanged; //!< | . | |||
Event fired when setting that controls user sizing of segments changes. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventSegmentRenderOffsetChanged; //!< Event f | * WindowEventArgs::window set to the ListHeaderSegment whose splitter | |||
ired when the rendering offset for the segments changes. | area | |||
* was double-clicked. | ||||
*/ | ||||
static const String EventSplitterDoubleClicked; | ||||
/** Event fired when the order of the segments in the header has change | ||||
d. | ||||
* Handlers are passed a const HeaderSequenceEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeader whose segments have ch | ||||
anged | ||||
* sequence, HeaderSequenceEventArgs::d_oldIdx is the original index of | ||||
the | ||||
* segment that has moved, and HeaderSequenceEventArgs::d_newIdx is the | ||||
new | ||||
* index of the segment that has moved. | ||||
*/ | ||||
static const String EventSegmentSequenceChanged; | ||||
/** Event fired when a segment is added to the header. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeader that has had a new seg | ||||
ment | ||||
* added. | ||||
*/ | ||||
static const String EventSegmentAdded; | ||||
/** Event fired when a segment is removed from the header. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeader that has had a segment | ||||
* removed. | ||||
*/ | ||||
static const String EventSegmentRemoved; | ||||
/** Event fired when setting that controls user modification to sort | ||||
* configuration is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeader whose user sort contro | ||||
l | ||||
* setting has been changed. | ||||
*/ | ||||
static const String EventSortSettingChanged; | ||||
/** Event fired when setting that controls user drag & drop of segments | ||||
is | ||||
* changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeader whose drag & drop enab | ||||
led | ||||
* setting has changed. | ||||
*/ | ||||
static const String EventDragMoveSettingChanged; | ||||
/** Event fired when setting that controls user sizing of segments is | ||||
* changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeader whose user sizing sett | ||||
ing | ||||
* has changed. | ||||
*/ | ||||
static const String EventDragSizeSettingChanged; | ||||
/** Event fired when the rendering offset for the segments changes. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeader whose segment renderin | ||||
g | ||||
* offset has changed. | ||||
*/ | ||||
static const String EventSegmentRenderOffsetChanged; | ||||
// values | // values | |||
static const float ScrollSpeed; //!< Speed to scroll at when dragging outside header. | static const float ScrollSpeed; //!< Speed to scroll at when dragging outside header. | |||
static const float MinimumSegmentPixelWidth; //!< Miniumu m width of a segment in pixels. | static const float MinimumSegmentPixelWidth; //!< Miniumu m width of a segment in pixels. | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const char SegmentNameSuffix[]; //!< Widget name suffix for header segments. | static const char SegmentNameSuffix[]; //!< Widget name suffix for header segments. | |||
End of changes. 1 change blocks. | ||||
30 lines changed or deleted | 90 lines changed or added | |||
CEGUIListHeaderSegment.h | CEGUIListHeaderSegment.h | |||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
class CEGUIEXPORT ListHeaderSegment : public Window | class CEGUIEXPORT ListHeaderSegment : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// Event names | // Event names | |||
static const String EventSegmentClicked; | /** Event fired when the segment is clicked. | |||
//!< Event fired when the segment is clicked. | * Hanlders are passed a const WindowEventArgs reference with | |||
static const String EventSplitterDoubleClicked; //!< Event f | * WindowEventArgs::window set to the ListHeaderSegment that was clicke | |||
ired when the sizer/splitter is double-clicked. | d. | |||
static const String EventSizingSettingChanged; //!< Event f | */ | |||
ired when the sizing setting changes. | static const String EventSegmentClicked; | |||
static const String EventSortDirectionChanged; //!< Event f | /** Event fired when the sizer/splitter is double-clicked. | |||
ired when the sort direction value changes. | * Hanlders are passed a const WindowEventArgs reference with | |||
static const String EventMovableSettingChanged; //!< Event f | * WindowEventArgs::window set to the ListHeaderSegment whose | |||
ired when the movable setting changes. | * sizer / splitter area was double-clicked. | |||
static const String EventSegmentDragStart; //!< | */ | |||
Event fired when the segment has started to be dragged. | static const String EventSplitterDoubleClicked; | |||
static const String EventSegmentDragStop; | /** Event fired when the user drag-sizable setting is changed. | |||
//!< Event fired when segment dragging has stopped (via mouse release). | * Hanlders are passed a const WindowEventArgs reference with | |||
static const String EventSegmentDragPositionChanged; //!< Event f | * WindowEventArgs::window set to the ListHeaderSegment whose user siza | |||
ired when the segment drag position has changed. | ble | |||
static const String EventSegmentSized; //!< | * setting has been changed. | |||
Event fired when the segment is sized. | */ | |||
static const String EventClickableSettingChanged; //!< | static const String EventSizingSettingChanged; | |||
Event fired when the clickable state of the segment changes. | /** Event fired when the sort direction value is changed. | |||
* Hanlders are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeaderSegment whose sort dire | ||||
ction | ||||
* has been changed. | ||||
*/ | ||||
static const String EventSortDirectionChanged; | ||||
/** Event fired when the user drag-movable setting is changed. | ||||
* Hanlders are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeaderSegment whose user | ||||
* drag-movable setting has been changed. | ||||
*/ | ||||
static const String EventMovableSettingChanged; | ||||
/** Event fired when the segment has started to be dragged. | ||||
* Hanlders are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeaderSegment that has starte | ||||
d to | ||||
* be dragged. | ||||
*/ | ||||
static const String EventSegmentDragStart; | ||||
/** Event fired when segment dragging has stopped (via mouse release). | ||||
* Hanlders are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeaderSegment that is no long | ||||
er | ||||
* being dragged. | ||||
*/ | ||||
static const String EventSegmentDragStop; | ||||
/** Event fired when the segment drag position has changed. | ||||
* Hanlders are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeaderSegment whose position | ||||
has | ||||
* changed due to being dragged. | ||||
*/ | ||||
static const String EventSegmentDragPositionChanged; | ||||
/** Event fired when the segment is sized by the user. | ||||
* Hanlders are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeaderSegment that has been | ||||
* resized by the user dragging. | ||||
*/ | ||||
static const String EventSegmentSized; | ||||
/** Event fired when the clickable setting for the segment is changed. | ||||
* Hanlders are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ListHeaderSegment whose setting t | ||||
hat | ||||
* controls whether the segment is clickable has been changed. | ||||
*/ | ||||
static const String EventClickableSettingChanged; | ||||
// Defaults | // Defaults | |||
static const float DefaultSizingArea; //!< Default size of the sizing area. | static const float DefaultSizingArea; //!< Default size of the sizing area. | |||
static const float SegmentMoveThreshold; //!< Amount the mous e must be dragged before drag-moving is initiated. | static const float SegmentMoveThreshold; //!< Amount the mous e must be dragged before drag-moving is initiated. | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Enumerated types | Enumerated types | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
End of changes. 1 change blocks. | ||||
20 lines changed or deleted | 66 lines changed or added | |||
CEGUIListbox.h | CEGUIListbox.h | |||
---|---|---|---|---|
skipping to change at line 86 | skipping to change at line 86 | |||
class CEGUIEXPORT Listbox : public Window | class CEGUIEXPORT Listbox : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// event names | // event names | |||
static const String EventListContentsChanged; //!< | /** Event fired when the contents of the list is changed. | |||
Event triggered when the contents of the list is changed. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventSelectionChanged; //!< | * WindowEventArgs::window set to the Listbox whose content is changed. | |||
Event triggered when there is a change to the currently selected item(s). | */ | |||
static const String EventSortModeChanged; | static const String EventListContentsChanged; | |||
//!< Event triggered when the sort mode setting changes. | /** Event fired when there is a change to the currently selected item(s | |||
static const String EventMultiselectModeChanged; //!< | ) | |||
Event triggered when the multi-select mode setting changes. | * within the list. | |||
static const String EventVertScrollbarModeChanged; //!< Event t | * Handlers are passed a const WindowEventArgs reference with | |||
riggered when the vertical scroll bar 'force' setting changes. | * WindowEventArgs::window set to the Litbox that has had a change in t | |||
static const String EventHorzScrollbarModeChanged; //!< Event t | he | |||
riggered when the horizontal scroll bar 'force' setting changes. | * selected items. | |||
*/ | ||||
static const String EventSelectionChanged; | ||||
/** Event fired when the sort mode setting changes for the Listbox. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Listbox whose sort mode has been | ||||
* changed. | ||||
*/ | ||||
static const String EventSortModeChanged; | ||||
/** Event fired when the multi-select mode setting changes for the List | ||||
box. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Listbox whose multi-select mode h | ||||
as | ||||
* been changed. | ||||
*/ | ||||
static const String EventMultiselectModeChanged; | ||||
/** Event fired when the mode setting that forces the display of the | ||||
* vertical scroll bar for the Listbox is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Listbox whose vertical | ||||
* scrollbar mode has been changed. | ||||
*/ | ||||
static const String EventVertScrollbarModeChanged; | ||||
/** Event fired when the mode setting that forces the display of the | ||||
* horizontal scroll bar for the Listbox is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Listbox whose horizontal | ||||
* scrollbar mode has been changed. | ||||
*/ | ||||
static const String EventHorzScrollbarModeChanged; | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String VertScrollbarNameSuffix; //!< Widget name suffix for the vertical scrollbar component. | static const String VertScrollbarNameSuffix; //!< Widget name suffix for the vertical scrollbar component. | |||
static const String HorzScrollbarNameSuffix; //!< Widget name suffix for the horizontal scrollbar component. | static const String HorzScrollbarNameSuffix; //!< Widget name suffix for the horizontal scrollbar component. | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Accessor Methods | Accessor Methods | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
skipping to change at line 523 | skipping to change at line 555 | |||
Return the sum of all item heights | Return the sum of all item heights | |||
*/ | */ | |||
float getTotalItemsHeight(void) const; | float getTotalItemsHeight(void) const; | |||
/*! | /*! | |||
\brief | \brief | |||
Return the width of the widest item | Return the width of the widest item | |||
*/ | */ | |||
float getWidestItemWidth(void) const; | float getWidestItemWidth(void) const; | |||
/*! | ||||
\brief | ||||
Return a pointer to the ListboxItem attached to this Listbox | ||||
at the | ||||
given screen pixel co-ordinate. | ||||
\return | ||||
Pointer to the ListboxItem attached to this Listbox that is | ||||
at screen | ||||
position \a pt, or 0 if no ListboxItem attached to this Listbox is | ||||
at | ||||
that position. | ||||
*/ | ||||
ListboxItem* getItemAtPoint(const Point& pt) const; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Construction and Destruction | Construction and Destruction | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor for Listbox base class. | Constructor for Listbox base class. | |||
*/ | */ | |||
Listbox(const String& type, const String& name); | Listbox(const String& type, const String& name); | |||
/*! | /*! | |||
skipping to change at line 580 | skipping to change at line 624 | |||
\brief | \brief | |||
Clear the selected state for all items (implementation) | Clear the selected state for all items (implementation) | |||
\return | \return | |||
true if some selections were cleared, false nothing was chan ged. | true if some selections were cleared, false nothing was chan ged. | |||
*/ | */ | |||
bool clearAllSelections_impl(void); | bool clearAllSelections_impl(void); | |||
/*! | /*! | |||
\brief | \brief | |||
Return the ListboxItem under the given window local pixel co | ||||
-ordinate. | ||||
\return | ||||
ListboxItem that is under window pixel co-ordinate \a pt, or | ||||
NULL if no | ||||
item is under that position. | ||||
*/ | ||||
ListboxItem* getItemAtPoint(const Point& pt) const; | ||||
/*! | ||||
\brief | ||||
Remove all items from the list. | Remove all items from the list. | |||
\note | \note | |||
Note that this will cause 'AutoDelete' items to be deleted. | Note that this will cause 'AutoDelete' items to be deleted. | |||
\return | \return | |||
- true if the list contents were changed. | - true if the list contents were changed. | |||
- false if the list contents were not changed (list already empty). | - false if the list contents were not changed (list already empty). | |||
*/ | */ | |||
bool resetList_impl(void); | bool resetList_impl(void); | |||
End of changes. 3 change blocks. | ||||
24 lines changed or deleted | 57 lines changed or added | |||
CEGUIListboxItem.h | CEGUIListboxItem.h | |||
---|---|---|---|---|
skipping to change at line 71 | skipping to change at line 71 | |||
/*! | /*! | |||
\brief | \brief | |||
base class constructor | base class constructor | |||
*/ | */ | |||
ListboxItem(const String& text, uint item_id = 0, void* item_data = 0, bool disabled = false, bool auto_delete = true); | ListboxItem(const String& text, uint item_id = 0, void* item_data = 0, bool disabled = false, bool auto_delete = true); | |||
/*! | /*! | |||
\brief | \brief | |||
base class destructor | base class destructor | |||
*/ | */ | |||
virtual ~ListboxItem(void) {} | virtual ~ListboxItem(void); | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Accessors | Accessors | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
/*! | /*! | |||
\brief | \brief | |||
return the text string set for this list box item. | return the text string set for this list box item. | |||
Note that even if the item does not render text, the text string ca n still be useful, since it | Note that even if the item does not render text, the text string ca n still be useful, since it | |||
is used for sorting list box items. | is used for sorting list box items. | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
CEGUIListboxTextItem.h | CEGUIListboxTextItem.h | |||
---|---|---|---|---|
skipping to change at line 34 | skipping to change at line 34 | |||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | |||
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | |||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |||
* OTHER DEALINGS IN THE SOFTWARE. | * OTHER DEALINGS IN THE SOFTWARE. | |||
************************************************************************** */ | ************************************************************************** */ | |||
#ifndef _CEGUIListboxTextItem_h_ | #ifndef _CEGUIListboxTextItem_h_ | |||
#define _CEGUIListboxTextItem_h_ | #define _CEGUIListboxTextItem_h_ | |||
#include "CEGUIListboxItem.h" | #include "CEGUIListboxItem.h" | |||
#include "../CEGUIBasicRenderedStringParser.h" | #include "../CEGUIBasicRenderedStringParser.h" | |||
#include "../CEGUIDefaultRenderedStringParser.h" | ||||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
/*! | /*! | |||
\brief | \brief | |||
Class used for textual items in a list box. | Class used for textual items in a list box. | |||
*/ | */ | |||
class CEGUIEXPORT ListboxTextItem : public ListboxItem | class CEGUIEXPORT ListboxTextItem : public ListboxItem | |||
{ | { | |||
skipping to change at line 161 | skipping to change at line 162 | |||
Set the colours used for text rendering. | Set the colours used for text rendering. | |||
\param col | \param col | |||
colour value to be used when rendering. | colour value to be used when rendering. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void setTextColours(colour col) {setTextColours(col, col, col, col);} | void setTextColours(colour col) {setTextColours(col, col, col, col);} | |||
/*! | ||||
\brief | ||||
Set whether the the ListboxTextItem will have it's text parsed via | ||||
the | ||||
BasicRenderedStringParser or not. | ||||
\param enable | ||||
- true if the ListboxTextItem text will be parsed. | ||||
- false if the ListboxTextItem text will be used verbatim. | ||||
*/ | ||||
void setTextParsingEnabled(const bool enable); | ||||
//! return whether text parsing is enabled for this ListboxTextItem. | ||||
bool isTextParsingEnabled() const; | ||||
// base class overrides | // base class overrides | |||
void setText(const String& text); | void setText(const String& text); | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Required implementations of pure virtuals from the base clas s. | Required implementations of pure virtuals from the base clas s. | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
Size getPixelSize(void) const; | Size getPixelSize(void) const; | |||
void draw(GeometryBuffer& buffer, const Rect& targetRect, float alpha, const Rect* clipper) const; | void draw(GeometryBuffer& buffer, const Rect& targetRect, float alpha, const Rect* clipper) const; | |||
protected: | protected: | |||
skipping to change at line 184 | skipping to change at line 199 | |||
Implementation Data | Implementation Data | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
ColourRect d_textCols; //!< Colours used fo r rendering the text. | ColourRect d_textCols; //!< Colours used fo r rendering the text. | |||
Font* d_font; //!< Font used for r endering text. | Font* d_font; //!< Font used for r endering text. | |||
//! Parser used to produce a final RenderedString from the standard Str ing. | //! Parser used to produce a final RenderedString from the standard Str ing. | |||
static BasicRenderedStringParser d_stringParser; | static BasicRenderedStringParser d_stringParser; | |||
//! RenderedString drawn by this item. | //! RenderedString drawn by this item. | |||
mutable RenderedString d_renderedString; | mutable RenderedString d_renderedString; | |||
//! boolean used to track when item state changes (and needs re-parse) | //! boolean used to track when item state changes (and needs re-parse) | |||
mutable bool d_renderedStringValid; | mutable bool d_renderedStringValid; | |||
//! Parser used when parsing is off. Basically just does linebreaks. | ||||
static DefaultRenderedStringParser d_noTagsStringParser; | ||||
//! boolean that specifies whether text parsing is enabled for the item | ||||
. | ||||
bool d_textParsingEnabled; | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIListboxTextItem_h_ | #endif // end of guard _CEGUIListboxTextItem_h_ | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 21 lines changed or added | |||
CEGUIMenuBase.h | CEGUIMenuBase.h | |||
---|---|---|---|---|
skipping to change at line 60 | skipping to change at line 60 | |||
*/ | */ | |||
class CEGUIEXPORT MenuBase : public ItemListBase | class CEGUIEXPORT MenuBase : public ItemListBase | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// generated internally by Window | // generated internally by Window | |||
static const String EventPopupOpened; | /** Event fired when a MenuItem attached to this menu opened a PopupMen | |||
//!< A MenuItem attached to this menu opened a PopupMenu | u. | |||
static const String EventPopupClosed; | * Handlers are passed a const WindowEventArgs reference with | |||
//!< A MenuItem attached to this menu opened a PopupMenu | * WindowEventArgs::window set to the PopupMenu that was opened. | |||
*/ | ||||
static const String EventPopupOpened; | ||||
/** Event fired when a MenuItem attached to this menu closed a PopupMen | ||||
u. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the PopupMenu that was closed. | ||||
*/ | ||||
static const String EventPopupClosed; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Accessor type functions | Accessor type functions | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Get the item spacing for this menu. | Get the item spacing for this menu. | |||
\return | \return | |||
A float value with the current item spacing for this menu | A float value with the current item spacing for this menu | |||
End of changes. 1 change blocks. | ||||
4 lines changed or deleted | 12 lines changed or added | |||
CEGUIMenuItem.h | CEGUIMenuItem.h | |||
---|---|---|---|---|
skipping to change at line 55 | skipping to change at line 55 | |||
class CEGUIEXPORT MenuItem : public ItemEntry | class CEGUIEXPORT MenuItem : public ItemEntry | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// generated internally by Window | // generated internally by Window | |||
static const String EventClicked; | /** Event fired when the menu item is clicked. | |||
//!< The menu item was clicked. | * Handlers are passed a const WindowEventArgs reference with | |||
* WindowEventArgs::window set to the MenuItem that was clicked. | ||||
*/ | ||||
static const String EventClicked; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Accessor type functions | Accessor type functions | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
return true if user is hovering over this widget (or it's pu shed and user is not over it for highlight) | return true if user is hovering over this widget (or it's pu shed and user is not over it for highlight) | |||
\return | \return | |||
true if the user is hovering or if the button is pushed and the mouse is not over the button. Otherwise return false. | true if the user is hovering or if the button is pushed and the mouse is not over the button. Otherwise return false. | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 5 lines changed or added | |||
CEGUIMouseCursor.h | CEGUIMouseCursor.h | |||
---|---|---|---|---|
skipping to change at line 76 | skipping to change at line 76 | |||
*/ | */ | |||
class CEGUIEXPORT MouseCursor : public EventSet, public Singleton<MouseCurs or> | class CEGUIEXPORT MouseCursor : public EventSet, public Singleton<MouseCurs or> | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// generated internally by MouseCursor | // generated internally by MouseCursor | |||
static const String EventImageChanged; //!< The cur | /** Event fired when the mouse cursor image is changed. | |||
sor image of the widget has changed. | * Handlers are passed a const MouseCursorEventArgs reference with | |||
* MouseCursorEventArgs::mouseCursor set to the MouseCursor that has | ||||
* had it's image changed, and MouseCursorEventArgs::image set to the | ||||
* Image that is now set for the MouseCursor (may be 0). | ||||
*/ | ||||
static const String EventImageChanged; | ||||
/*! | /*! | |||
\brief | \brief | |||
Constructor for MouseCursor objects | Constructor for MouseCursor objects | |||
*/ | */ | |||
MouseCursor(void); | MouseCursor(void); | |||
/*! | /*! | |||
\brief | \brief | |||
Destructor for MouseCursor objects | Destructor for MouseCursor objects | |||
skipping to change at line 288 | skipping to change at line 294 | |||
You normally would not call this directly; rather you would call th e | You normally would not call this directly; rather you would call th e | |||
function System::notifyDisplaySizeChanged and that will then call t his | function System::notifyDisplaySizeChanged and that will then call t his | |||
function for you. | function for you. | |||
\param new_size | \param new_size | |||
Size object describing the new display size in pixels. | Size object describing the new display size in pixels. | |||
*/ | */ | |||
void notifyDisplaySizeChanged(const Size& new_size); | void notifyDisplaySizeChanged(const Size& new_size); | |||
/*! | ||||
\brief | ||||
Set an explicit size for the mouse cursor image to be drawn at. | ||||
This will override the size that is usually obtained directly from | ||||
the | ||||
mouse cursor image and will stay in effect across changes to the mo | ||||
use | ||||
cursor image. | ||||
Setting this size to (0, 0) will revert back to using the size as | ||||
obtained from the Image itself. | ||||
\param size | ||||
Reference to a Size object that describes the size at which the cur | ||||
sor | ||||
image should be drawn in pixels. | ||||
*/ | ||||
void setExplicitRenderSize(const Size& size); | ||||
/*! | ||||
\brief | ||||
Return the explicit render size currently set. A return size of (0 | ||||
, 0) | ||||
indicates that the real image size will be used. | ||||
*/ | ||||
const Size& getExplicitRenderSize() const; | ||||
/*! | ||||
\brief | ||||
Static function to pre-initialise the mouse cursor position (prior | ||||
to | ||||
MouseCursor instantiation). | ||||
Calling this function prior to instantiating MouseCursor will preve | ||||
nt | ||||
the mouse having it's position set to the middle of the initial vie | ||||
w. | ||||
Calling this function after the MouseCursor is instantiated will ha | ||||
ve | ||||
no effect. | ||||
\param position | ||||
Reference to a point object describing the initial pixel position t | ||||
o | ||||
be used for the mouse cursor. | ||||
*/ | ||||
static void setInitialMousePosition(const Point& position); | ||||
/*! | ||||
\brief | ||||
Mark the cached geometry as invalid so it will be recached next tim | ||||
e the | ||||
mouse cursor is drawn. | ||||
*/ | ||||
void invalidate(); | ||||
protected: | protected: | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
New event handlers | New event handlers | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
event triggered internally when image of mouse cursor change s | event triggered internally when image of mouse cursor change s | |||
*/ | */ | |||
virtual void onImageChanged(MouseCursorEventArgs& e); | virtual void onImageChanged(MouseCursorEventArgs& e); | |||
private: | private: | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Implementation Methods | Implementation Methods | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Checks the mouse cursor position is within the current 'cons train' Rect and adjusts as required. | Checks the mouse cursor position is within the current 'cons train' Rect and adjusts as required. | |||
*/ | */ | |||
void constrainPosition(void); | void constrainPosition(void); | |||
//! updates the cached geometry. | ||||
void cacheGeometry() const; | ||||
//! calculate offset for custom image size so 'hot spot' is maintained. | ||||
void calculateCustomOffset() const; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Implementation Data | Implementation Data | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
const Image* d_cursorImage; //!< Image that is currently set as the mouse cursor. | const Image* d_cursorImage; //!< Image that is currently set as the mouse cursor. | |||
Vector2 d_position; //!< Current location of the cursor | Vector2 d_position; //!< Current location of the cursor | |||
bool d_visible; //!< true if the cursor will be drawn, else false. | bool d_visible; //!< true if the cursor will be drawn, else false. | |||
URect d_constraints; //!< Specifies the a rea (in screen pixels) that the mouse can move around in. | URect d_constraints; //!< Specifies the a rea (in screen pixels) that the mouse can move around in. | |||
//! buffer to hold geometry for mouse cursor imagery. | //! buffer to hold geometry for mouse cursor imagery. | |||
GeometryBuffer* d_geometry; | GeometryBuffer* d_geometry; | |||
//! custom explicit size to render the cursor image at | ||||
Size d_customSize; | ||||
//! correctly scaled offset used when using custom image size. | ||||
mutable Point d_customOffset; | ||||
//! true if the mouse initial position has been pre-set | ||||
static bool s_initialPositionSet; | ||||
//! value set as initial position (if any) | ||||
static Point s_initialPosition; | ||||
//! boolean indicating whether cached pointer geometry is valid. | ||||
mutable bool d_cachedGeometryValid; | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#if defined(_MSC_VER) | #if defined(_MSC_VER) | |||
# pragma warning(pop) | # pragma warning(pop) | |||
#endif | #endif | |||
#endif // end of guard _CEGUIMouseCursor_h_ | #endif // end of guard _CEGUIMouseCursor_h_ | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 80 lines changed or added | |||
CEGUIMultiColumnList.h | CEGUIMultiColumnList.h | |||
---|---|---|---|---|
skipping to change at line 107 | skipping to change at line 107 | |||
class CEGUIEXPORT MultiColumnList : public Window | class CEGUIEXPORT MultiColumnList : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// Event names | // Event names | |||
static const String EventSelectionModeChanged; //!< Event f | /** Event fired when the selection mode for the list box changes. | |||
ired when the selection mode for the list box changes. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventNominatedSelectColumnChanged;//!< Event fir | * WindowEventArgs::window set to the MultiColumnList whose selection m | |||
ed when the nominated select column changes. | ode | |||
static const String EventNominatedSelectRowChanged; //!< Event f | * has been changed. | |||
ired when the nominated select row changes. | */ | |||
static const String EventVertScrollbarModeChanged; //!< Event f | static const String EventSelectionModeChanged; | |||
ired when the vertical scroll bar 'force' setting changes. | /** Event fired when the nominated select column changes. | |||
static const String EventHorzScrollbarModeChanged; //!< Event f | * Handlers are passed a const WindowEventArgs reference with | |||
ired when the horizontal scroll bar 'force' setting changes. | * WindowEventArgs::window set to the MultiColumnList whose nominated | |||
static const String EventSelectionChanged; //!< | * selection column has been changed. | |||
Event fired when the current selection(s) within the list box changes. | */ | |||
static const String EventListContentsChanged; //!< | static const String EventNominatedSelectColumnChanged; | |||
Event fired when the contents of the list box changes. | /** Event fired when the nominated select row changes. | |||
static const String EventSortColumnChanged; //!< | * Handlers are passed a const WindowEventArgs reference with | |||
Event fired when the sort column changes. | * WindowEventArgs::window set to the MultiColumnList whose nominated | |||
static const String EventSortDirectionChanged; //!< Event f | * selection row has been changed. | |||
ired when the sort direction changes. | */ | |||
static const String EventListColumnSized; | static const String EventNominatedSelectRowChanged; | |||
//!< Event fired when the width of a column in the list changes. | /** Event fired when the vertical scroll bar 'force' setting changes. | |||
static const String EventListColumnMoved; | * Handlers are passed a const WindowEventArgs reference with | |||
//!< Event fired when the column order changes. | * WindowEventArgs::window set to the MultiColumnList whose vertical sc | |||
roll | ||||
* bar mode has been changed. | ||||
*/ | ||||
static const String EventVertScrollbarModeChanged; | ||||
/** Event fired when the horizontal scroll bar 'force' setting changes. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiColumnList whose horizontal | ||||
* scroll bar mode has been changed. | ||||
*/ | ||||
static const String EventHorzScrollbarModeChanged; | ||||
/** Event fired when the current selection(s) within the list box chang | ||||
es. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiColumnList whose current | ||||
* selection has changed. | ||||
*/ | ||||
static const String EventSelectionChanged; | ||||
/** Event fired when the contents of the list box changes. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiColumnList whose contents ha | ||||
s | ||||
* changed. | ||||
*/ | ||||
static const String EventListContentsChanged; | ||||
/** Event fired when the sort column changes. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiColumnList whose sort column | ||||
has | ||||
* been changed. | ||||
*/ | ||||
static const String EventSortColumnChanged; | ||||
/** Event fired when the sort direction changes. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiColumnList whose sort direct | ||||
ion | ||||
* has been changed. | ||||
*/ | ||||
static const String EventSortDirectionChanged; | ||||
/** Event fired when the width of a column in the list changes. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiColumnList for which a colum | ||||
n | ||||
* width has changed. | ||||
*/ | ||||
static const String EventListColumnSized; | ||||
/** Event fired when the column order changes. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiColumnList for which the ord | ||||
er | ||||
* of columns has been changed. | ||||
*/ | ||||
static const String EventListColumnMoved; | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String VertScrollbarNameSuffix; //!< Widget name suffix for the vertical scrollbar component. | static const String VertScrollbarNameSuffix; //!< Widget name suffix for the vertical scrollbar component. | |||
static const String HorzScrollbarNameSuffix; //!< Widget name suffix for the horizontal scrollbar component. | static const String HorzScrollbarNameSuffix; //!< Widget name suffix for the horizontal scrollbar component. | |||
static const String ListHeaderNameSuffix; //!< Widget name suffix for the list header component. | static const String ListHeaderNameSuffix; //!< Widget name suffix for the list header component. | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Enumerations | Enumerations | |||
End of changes. 1 change blocks. | ||||
22 lines changed or deleted | 74 lines changed or added | |||
CEGUIMultiLineEditbox.h | CEGUIMultiLineEditbox.h | |||
---|---|---|---|---|
skipping to change at line 90 | skipping to change at line 90 | |||
class CEGUIEXPORT MultiLineEditbox : public Window | class CEGUIEXPORT MultiLineEditbox : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// event names | // event names | |||
static const String EventReadOnlyModeChanged; //!< | /** Event fired when the read-only mode for the edit box has been chang | |||
The read-only mode for the edit box has been changed. | ed. | |||
static const String EventWordWrapModeChanged; //!< | * Handlers are passed a const WindowEventArgs reference with | |||
The word wrap mode of the text box has been changed. | * WindowEventArgs::window set to the MultiLineEditbox whose read-only | |||
static const String EventMaximumTextLengthChanged; //!< The max | mode | |||
imum allowable string length has been changed. | * was changed. | |||
static const String EventCaratMoved; | */ | |||
//!< The text carat (insert point) has changed. | static const String EventReadOnlyModeChanged; | |||
static const String EventTextSelectionChanged; //!< The cur | /** Event fired when the word wrap mode of the edit box has been change | |||
rent text selection has changed. | d. | |||
static const String EventEditboxFull; | * Handlers are passed a const WindowEventArgs reference with | |||
//!< The number of characters in the edit box has reached the current m | * WindowEventArgs::window set to the MultiLineEditbox whose word wrap | |||
aximum. | * mode was changed. | |||
static const String EventVertScrollbarModeChanged; //!< Event t | */ | |||
riggered when the vertical scroll bar 'force' setting changes. | static const String EventWordWrapModeChanged; | |||
static const String EventHorzScrollbarModeChanged; //!< Event t | /** Event fired when the maximum allowable string length for the edit b | |||
riggered when the horizontal scroll bar 'force' setting changes. | ox | |||
* has been changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiLineEditbox whose maximum st | ||||
ring | ||||
* length was changed. | ||||
*/ | ||||
static const String EventMaximumTextLengthChanged; | ||||
/** Event fired when the text caret / current insertion position is cha | ||||
nged. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiLineEditbox whose caret posi | ||||
tion | ||||
* has changed. | ||||
*/ | ||||
static const String EventCaratMoved; | ||||
/** Event fired when the current text selection for the edit box is cha | ||||
nged. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiLineEditbox whose text selec | ||||
tion | ||||
* was changed. | ||||
*/ | ||||
static const String EventTextSelectionChanged; | ||||
/** Event fired when the number of characters in the edit box reaches t | ||||
he | ||||
* current maximum length. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiLineEditbox whose text lengt | ||||
h | ||||
* has reached the set maximum allowable length for the edit box. | ||||
*/ | ||||
static const String EventEditboxFull; | ||||
/** Event fired when the mode setting that forces the display of the | ||||
* vertical scroll bar for the edit box is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiLineEditbox whose vertical | ||||
* scrollbar mode has been changed. | ||||
*/ | ||||
static const String EventVertScrollbarModeChanged; | ||||
/** Event fired when the mode setting that forces the display of the | ||||
* horizontal scroll bar for the edit box is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the MultiLineEditbox whose horizontal | ||||
* scrollbar mode has been changed. | ||||
*/ | ||||
static const String EventHorzScrollbarModeChanged; | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String VertScrollbarNameSuffix; //!< Widget name suffix for the vertical scrollbar component. | static const String VertScrollbarNameSuffix; //!< Widget name suffix for the vertical scrollbar component. | |||
static const String HorzScrollbarNameSuffix; //!< Widget name suffix for the horizontal scrollbar component. | static const String HorzScrollbarNameSuffix; //!< Widget name suffix for the horizontal scrollbar component. | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Implementation struct | Implementation struct | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
skipping to change at line 398 | skipping to change at line 442 | |||
Rect object describing the area of the Window to be used for rendering text. | Rect object describing the area of the Window to be used for rendering text. | |||
*/ | */ | |||
//virtual Rect getTextRenderArea_impl(void) const = 0; | //virtual Rect getTextRenderArea_impl(void) const = 0; | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Implementation Methods | Implementation Methods | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Format the text into lines as needed by the current formatti ng options. | Format the text into lines as needed by the current formatti ng options. | |||
\deprecated | ||||
This is deprecated in favour of the version taking a boolean. | ||||
*/ | */ | |||
void formatText(void); | void formatText(void); | |||
/*! | ||||
\brief | ||||
Format the text into lines as dictated by the formatting options. | ||||
\param update_scrollbars | ||||
- true if scrollbar configuration should be performed. | ||||
- false if scrollbar configuration should not be performed. | ||||
*/ | ||||
void formatText(const bool update_scrollbars); | ||||
/*! | /*! | |||
\brief | \brief | |||
Return the length of the next token in String \a text starti ng at index \a start_idx. | Return the length of the next token in String \a text starti ng at index \a start_idx. | |||
\note | \note | |||
Any single whitespace character is one token, any group of o ther characters is a token. | Any single whitespace character is one token, any group of o ther characters is a token. | |||
\return | \return | |||
The code point length of the token. | The code point length of the token. | |||
*/ | */ | |||
skipping to change at line 563 | skipping to change at line 619 | |||
return Window::testClassName_impl(class_name); | return Window::testClassName_impl(class_name); | |||
} | } | |||
/*! | /*! | |||
\brief | \brief | |||
Internal handler that is triggered when the user interacts with t he scrollbars. | Internal handler that is triggered when the user interacts with t he scrollbars. | |||
*/ | */ | |||
bool handle_scrollChange(const EventArgs& args); | bool handle_scrollChange(const EventArgs& args); | |||
// handler triggered when vertical scrollbar is shown or hidden | ||||
bool handle_vertScrollbarVisibilityChanged(const EventArgs&); | ||||
// validate window renderer | // validate window renderer | |||
virtual bool validateWindowRenderer(const String& name) const | virtual bool validateWindowRenderer(const String& name) const | |||
{ | { | |||
return (name == EventNamespace); | return (name == EventNamespace); | |||
} | } | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
New event handlers | New event handlers | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
End of changes. 4 change blocks. | ||||
17 lines changed or deleted | 78 lines changed or added | |||
CEGUINamedXMLResourceManager.h | CEGUINamedXMLResourceManager.h | |||
---|---|---|---|---|
skipping to change at line 61 | skipping to change at line 61 | |||
}; | }; | |||
//------------------------------------------------------------------------- ---// | //------------------------------------------------------------------------- ---// | |||
//! implementation class to gather EventSet parts for all template instance s. | //! implementation class to gather EventSet parts for all template instance s. | |||
class CEGUIEXPORT ResourceEventSet : public EventSet | class CEGUIEXPORT ResourceEventSet : public EventSet | |||
{ | { | |||
public: | public: | |||
//! Namespace name for all resource managers | //! Namespace name for all resource managers | |||
static const String EventNamespace; | static const String EventNamespace; | |||
//! Name of event fired when a resource is created by this manager. | /** Name of event fired when a resource is created by this manager. | |||
* Handlers are passed a const ResourceEventArgs reference with | ||||
* ResourceEventArgs::resourceType String set to the type of resource t | ||||
hat | ||||
* the event is related to, and ResourceEventArgs::resourceName String | ||||
set | ||||
* to the name of the resource that the event is related to. | ||||
*/ | ||||
static const String EventResourceCreated; | static const String EventResourceCreated; | |||
//! Name of event fired when a resource is destroyed by this manager. | /** Name of event fired when a resource is destroyed by this manager. | |||
* Handlers are passed a const ResourceEventArgs reference with | ||||
* ResourceEventArgs::resourceType String set to the type of resource t | ||||
hat | ||||
* the event is related to, and ResourceEventArgs::resourceName String | ||||
set | ||||
* to the name of the resource that the event is related to. | ||||
*/ | ||||
static const String EventResourceDestroyed; | static const String EventResourceDestroyed; | |||
//! Name of event fired when a resource is replaced by this manager. | /** Name of event fired when a resource is replaced by this manager. | |||
* Handlers are passed a const ResourceEventArgs reference with | ||||
* ResourceEventArgs::resourceType String set to the type of resource t | ||||
hat | ||||
* the event is related to, and ResourceEventArgs::resourceName String | ||||
set | ||||
* to the name of the resource that the event is related to. | ||||
*/ | ||||
static const String EventResourceReplaced; | static const String EventResourceReplaced; | |||
}; | }; | |||
//------------------------------------------------------------------------- ---// | //------------------------------------------------------------------------- ---// | |||
/*! | /*! | |||
\brief | \brief | |||
Templatised manager class that loads and manages named XML based resour ces. | Templatised manager class that loads and manages named XML based resour ces. | |||
\tparam T | \tparam T | |||
skipping to change at line 262 | skipping to change at line 277 | |||
destroyObject(d_objects.begin()); | destroyObject(d_objects.begin()); | |||
} | } | |||
//------------------------------------------------------------------------- ---// | //------------------------------------------------------------------------- ---// | |||
template<typename T, typename U> | template<typename T, typename U> | |||
T& NamedXMLResourceManager<T, U>::get(const String& object_name) const | T& NamedXMLResourceManager<T, U>::get(const String& object_name) const | |||
{ | { | |||
typename ObjectRegistry::const_iterator i(d_objects.find(object_name)); | typename ObjectRegistry::const_iterator i(d_objects.find(object_name)); | |||
if (i == d_objects.end()) | if (i == d_objects.end()) | |||
throw UnknownObjectException("NamedXMLResourceManager::get: " | CEGUI_THROW(UnknownObjectException("NamedXMLResourceManager::get: " | |||
"No object of type '" + d_resourceType + "' named '" + object_n ame + | "No object of type '" + d_resourceType + "' named '" + object_n ame + | |||
"' is present in the collection."); | "' is present in the collection.")); | |||
return *i->second; | return *i->second; | |||
} | } | |||
//------------------------------------------------------------------------- ---// | //------------------------------------------------------------------------- ---// | |||
template<typename T, typename U> | template<typename T, typename U> | |||
bool NamedXMLResourceManager<T, U>::isDefined(const String& object_name) co nst | bool NamedXMLResourceManager<T, U>::isDefined(const String& object_name) co nst | |||
{ | { | |||
return d_objects.find(object_name) != d_objects.end(); | return d_objects.find(object_name) != d_objects.end(); | |||
} | } | |||
skipping to change at line 328 | skipping to change at line 343 | |||
case XREA_REPLACE: | case XREA_REPLACE: | |||
Logger::getSingleton().logEvent("---- Replacing existing instan ce " | Logger::getSingleton().logEvent("---- Replacing existing instan ce " | |||
"of " + d_resourceType + " named '" + object_name + | "of " + d_resourceType + " named '" + object_name + | |||
"' (DANGER!)."); | "' (DANGER!)."); | |||
destroy(object_name); | destroy(object_name); | |||
event_name = EventResourceReplaced; | event_name = EventResourceReplaced; | |||
break; | break; | |||
case XREA_THROW: | case XREA_THROW: | |||
delete object; | delete object; | |||
throw AlreadyExistsException( | CEGUI_THROW(AlreadyExistsException( | |||
"NamedXMLResourceManager::checkExistingObjectAction: " | "NamedXMLResourceManager::checkExistingObjectAction: " | |||
"an object of type '" + d_resourceType + "' named '" + | "an object of type '" + d_resourceType + "' named '" + | |||
object_name + "' already exists in the collection."); | object_name + "' already exists in the collection.")); | |||
default: | default: | |||
delete object; | delete object; | |||
throw InvalidRequestException( | CEGUI_THROW(InvalidRequestException( | |||
"NamedXMLResourceManager::checkExistingObjectAction: " | "NamedXMLResourceManager::checkExistingObjectAction: " | |||
"Invalid CEGUI::XMLResourceExistsAction was specified."); | "Invalid CEGUI::XMLResourceExistsAction was specified.")); | |||
} | } | |||
} | } | |||
else | else | |||
event_name = EventResourceCreated; | event_name = EventResourceCreated; | |||
d_objects[object_name] = object; | d_objects[object_name] = object; | |||
doPostObjectAdditionAction(*object); | doPostObjectAdditionAction(*object); | |||
// fire event about this resource change | // fire event about this resource change | |||
ResourceEventArgs args(d_resourceType, object_name); | ResourceEventArgs args(d_resourceType, object_name); | |||
End of changes. 9 change blocks. | ||||
9 lines changed or deleted | 30 lines changed or added | |||
CEGUIOpenGLGeometryBuffer.h | CEGUIOpenGLGeometryBuffer.h | |||
---|---|---|---|---|
/*********************************************************************** | /*********************************************************************** | |||
filename: CEGUIOpenGLGeometryBuffer.h | filename: CEGUIOpenGLGeometryBuffer.h | |||
created: Thu Jan 8 2009 | created: Thu Jan 8 2009 | |||
author: Paul D Turner | author: Paul D Turner | |||
*************************************************************************/ | *************************************************************************/ | |||
/************************************************************************** * | /************************************************************************** * | |||
* Copyright (C) 2004 - 2009 Paul D Turner & The CEGUI Development Team | * Copyright (C) 2004 - 2010 Paul D Turner & The CEGUI Development Team | |||
* | * | |||
* Permission is hereby granted, free of charge, to any person obtaining | * Permission is hereby granted, free of charge, to any person obtaining | |||
* a copy of this software and associated documentation files (the | * a copy of this software and associated documentation files (the | |||
* "Software"), to deal in the Software without restriction, including | * "Software"), to deal in the Software without restriction, including | |||
* without limitation the rights to use, copy, modify, merge, publish, | * without limitation the rights to use, copy, modify, merge, publish, | |||
* distribute, sublicense, and/or sell copies of the Software, and to | * distribute, sublicense, and/or sell copies of the Software, and to | |||
* permit persons to whom the Software is furnished to do so, subject to | * permit persons to whom the Software is furnished to do so, subject to | |||
* the following conditions: | * the following conditions: | |||
* | * | |||
* The above copyright notice and this permission notice shall be | * The above copyright notice and this permission notice shall be | |||
skipping to change at line 56 | skipping to change at line 56 | |||
class OpenGLTexture; | class OpenGLTexture; | |||
/*! | /*! | |||
\brief | \brief | |||
OpenGL based implementation of the GeometryBuffer interface. | OpenGL based implementation of the GeometryBuffer interface. | |||
*/ | */ | |||
class OPENGL_GUIRENDERER_API OpenGLGeometryBuffer : public GeometryBuffer | class OPENGL_GUIRENDERER_API OpenGLGeometryBuffer : public GeometryBuffer | |||
{ | { | |||
public: | public: | |||
//! Constructor | //! Constructor | |||
OpenGLGeometryBuffer(); | OpenGLGeometryBuffer(OpenGLRenderer& owner); | |||
// implementation of abstract members from GeometryBuffer | // implementation of abstract members from GeometryBuffer | |||
void draw() const; | void draw() const; | |||
void setTranslation(const Vector3& t); | void setTranslation(const Vector3& t); | |||
void setRotation(const Vector3& r); | void setRotation(const Vector3& r); | |||
void setPivot(const Vector3& p); | void setPivot(const Vector3& p); | |||
void setClippingRegion(const Rect& region); | void setClippingRegion(const Rect& region); | |||
void appendVertex(const Vertex& vertex); | void appendVertex(const Vertex& vertex); | |||
void appendGeometry(const Vertex* const vbuff, uint vertex_count); | void appendGeometry(const Vertex* const vbuff, uint vertex_count); | |||
void setActiveTexture(Texture* texture); | void setActiveTexture(Texture* texture); | |||
skipping to change at line 92 | skipping to change at line 92 | |||
void updateMatrix() const; | void updateMatrix() const; | |||
//! internal Vertex structure used for GL based geometry. | //! internal Vertex structure used for GL based geometry. | |||
struct GLVertex | struct GLVertex | |||
{ | { | |||
float tex[2]; | float tex[2]; | |||
float colour[4]; | float colour[4]; | |||
float position[3]; | float position[3]; | |||
}; | }; | |||
//! OpenGLRenderer object that owns the GeometryBuffer. | ||||
OpenGLRenderer* d_owner; | ||||
//! last texture that was set as active | //! last texture that was set as active | |||
OpenGLTexture* d_activeTexture; | OpenGLTexture* d_activeTexture; | |||
//! type to track info for per-texture sub batches of geometry | //! type to track info for per-texture sub batches of geometry | |||
typedef std::pair<uint, uint> BatchInfo; | typedef std::pair<uint, uint> BatchInfo; | |||
//! type of container that tracks BatchInfos. | //! type of container that tracks BatchInfos. | |||
typedef std::vector<BatchInfo> BatchList; | typedef std::vector<BatchInfo> BatchList; | |||
//! list of texture batches added to the geometry buffer | //! list of texture batches added to the geometry buffer | |||
BatchList d_batches; | BatchList d_batches; | |||
//! type of container used to queue the geometry | //! type of container used to queue the geometry | |||
typedef std::vector<GLVertex> VertexList; | typedef std::vector<GLVertex> VertexList; | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 4 lines changed or added | |||
CEGUIOpenGLRenderer.h | CEGUIOpenGLRenderer.h | |||
---|---|---|---|---|
/*********************************************************************** | /*********************************************************************** | |||
filename: CEGUIOpenGLRenderer.h | filename: CEGUIOpenGLRenderer.h | |||
created: Sun Jan 11 2009 | created: Sun Jan 11 2009 | |||
author: Paul D Turner | author: Paul D Turner | |||
*************************************************************************/ | *************************************************************************/ | |||
/************************************************************************** * | /************************************************************************** * | |||
* Copyright (C) 2004 - 2009 Paul D Turner & The CEGUI Development Team | * Copyright (C) 2004 - 2010 Paul D Turner & The CEGUI Development Team | |||
* | * | |||
* Permission is hereby granted, free of charge, to any person obtaining | * Permission is hereby granted, free of charge, to any person obtaining | |||
* a copy of this software and associated documentation files (the | * a copy of this software and associated documentation files (the | |||
* "Software"), to deal in the Software without restriction, including | * "Software"), to deal in the Software without restriction, including | |||
* without limitation the rights to use, copy, modify, merge, publish, | * without limitation the rights to use, copy, modify, merge, publish, | |||
* distribute, sublicense, and/or sell copies of the Software, and to | * distribute, sublicense, and/or sell copies of the Software, and to | |||
* permit persons to whom the Software is furnished to do so, subject to | * permit persons to whom the Software is furnished to do so, subject to | |||
* the following conditions: | * the following conditions: | |||
* | * | |||
* The above copyright notice and this permission notice shall be | * The above copyright notice and this permission notice shall be | |||
skipping to change at line 83 | skipping to change at line 83 | |||
//! Use targets based on frame buffer objects if available, else no ne. | //! Use targets based on frame buffer objects if available, else no ne. | |||
TTT_FBO, | TTT_FBO, | |||
//! Use targets based on pbuffer support if available, else none. | //! Use targets based on pbuffer support if available, else none. | |||
TTT_PBUFFER, | TTT_PBUFFER, | |||
//! Disable texture targets. | //! Disable texture targets. | |||
TTT_NONE | TTT_NONE | |||
}; | }; | |||
/*! | /*! | |||
\brief | \brief | |||
Convenience function that creates the required objects to initialis | ||||
e the | ||||
CEGUI system. | ||||
The created Renderer will use the current OpenGL viewport as it's | ||||
default surface size. | ||||
This will create and initialise the following objects for you: | ||||
- CEGUI::OpenGLRenderer | ||||
- CEGUI::DefaultResourceProvider | ||||
- CEGUI::System | ||||
\param tt_type | ||||
Specifies one of the TextureTargetType enumerated values indicating | ||||
the | ||||
desired TextureTarget type to be used. Defaults to TTT_AUTO. | ||||
\return | ||||
Reference to the CEGUI::OpenGLRenderer object that was created. | ||||
*/ | ||||
static OpenGLRenderer& bootstrapSystem( | ||||
const TextureTargetType tt_type = TTT_A | ||||
UTO); | ||||
/*! | ||||
\brief | ||||
Convenience function that creates the required objects to initialis | ||||
e the | ||||
CEGUI system. | ||||
The created Renderer will use the current OpenGL viewport as it's | ||||
default surface size. | ||||
This will create and initialise the following objects for you: | ||||
- CEGUI::OpenGLRenderer | ||||
- CEGUI::DefaultResourceProvider | ||||
- CEGUI::System | ||||
\param display_size | ||||
Size object describing the initial display resolution. | ||||
\param tt_type | ||||
Specifies one of the TextureTargetType enumerated values indicating | ||||
the | ||||
desired TextureTarget type to be used. Defaults to TTT_AUTO. | ||||
\return | ||||
Reference to the CEGUI::OpenGLRenderer object that was created. | ||||
*/ | ||||
static OpenGLRenderer& bootstrapSystem(const Size& display_size, | ||||
const TextureTargetType tt_type = TTT_AUT | ||||
O); | ||||
/*! | ||||
\brief | ||||
Convenience function to cleanup the CEGUI system and related object | ||||
s | ||||
that were created by calling the bootstrapSystem function. | ||||
This function will destroy the following objects for you: | ||||
- CEGUI::System | ||||
- CEGUI::DefaultResourceProvider | ||||
- CEGUI::OpenGLRenderer | ||||
\note | ||||
If you did not initialise CEGUI by calling the bootstrapSystem func | ||||
tion, | ||||
you should \e not call this, but rather delete any objects you crea | ||||
ted | ||||
manually. | ||||
*/ | ||||
static void destroySystem(); | ||||
/*! | ||||
\brief | ||||
Create an OpenGLRenderer object. | Create an OpenGLRenderer object. | |||
\param tt_type | \param tt_type | |||
Specifies one of the TextureTargetType enumerated values indicating the | Specifies one of the TextureTargetType enumerated values indicating the | |||
desired TextureTarget type to be used. | desired TextureTarget type to be used. | |||
*/ | */ | |||
static OpenGLRenderer& create(const TextureTargetType tt_type = TTT_AUT O); | static OpenGLRenderer& create(const TextureTargetType tt_type = TTT_AUT O); | |||
/*! | /*! | |||
\brief | \brief | |||
skipping to change at line 200 | skipping to change at line 266 | |||
*/ | */ | |||
Size getAdjustedTextureSize(const Size& sz) const; | Size getAdjustedTextureSize(const Size& sz) const; | |||
/*! | /*! | |||
\brief | \brief | |||
Utility function that will return \a f if it's a power of two, or t he | Utility function that will return \a f if it's a power of two, or t he | |||
next power of two up from \a f if it's not. | next power of two up from \a f if it's not. | |||
*/ | */ | |||
static float getNextPOTSize(const float f); | static float getNextPOTSize(const float f); | |||
//! set the render states for the specified BlendMode. | ||||
void setupRenderingBlendMode(const BlendMode mode, const bool force = f | ||||
alse); | ||||
private: | private: | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor for OpenGL Renderer objects | Constructor for OpenGL Renderer objects | |||
\param tt_type | \param tt_type | |||
Specifies one of the TextureTargetType enumerated values indicating the | Specifies one of the TextureTargetType enumerated values indicating the | |||
desired TextureTarget type to be used. | desired TextureTarget type to be used. | |||
*/ | */ | |||
OpenGLRenderer(const TextureTargetType tt_type); | OpenGLRenderer(const TextureTargetType tt_type); | |||
skipping to change at line 267 | skipping to change at line 336 | |||
//! container type used to hold Textures we create. | //! container type used to hold Textures we create. | |||
typedef std::vector<OpenGLTexture*> TextureList; | typedef std::vector<OpenGLTexture*> TextureList; | |||
//! Container used to track textures. | //! Container used to track textures. | |||
TextureList d_textures; | TextureList d_textures; | |||
//! What the renderer thinks the max texture size is. | //! What the renderer thinks the max texture size is. | |||
uint d_maxTextureSize; | uint d_maxTextureSize; | |||
//! option of whether to initialise extra states that may not be at def ault | //! option of whether to initialise extra states that may not be at def ault | |||
bool d_initExtraStates; | bool d_initExtraStates; | |||
//! pointer to a helper that creates TextureTargets supported by the sy stem. | //! pointer to a helper that creates TextureTargets supported by the sy stem. | |||
OGLTextureTargetFactory* d_textureTargetFactory; | OGLTextureTargetFactory* d_textureTargetFactory; | |||
//! What blend mode we think is active. | ||||
BlendMode d_activeBlendMode; | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#if defined(_MSC_VER) | #if defined(_MSC_VER) | |||
# pragma warning(pop) | # pragma warning(pop) | |||
#endif | #endif | |||
#endif // end of guard _CEGUIOpenGLRenderer_h_ | #endif // end of guard _CEGUIOpenGLRenderer_h_ | |||
End of changes. 4 change blocks. | ||||
1 lines changed or deleted | 82 lines changed or added | |||
CEGUIProgressBar.h | CEGUIProgressBar.h | |||
---|---|---|---|---|
skipping to change at line 58 | skipping to change at line 58 | |||
*/ | */ | |||
class CEGUIEXPORT ProgressBar : public Window | class CEGUIEXPORT ProgressBar : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
static const String EventProgressChanged; //!< Event f | /** Event fired whenever the progress value is changed. | |||
ired whenever the progress value changes. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventProgressDone; //!< Event fired whe | * WindowEventArgs::window set to the ProgressBar whose value has been | |||
n the progress bar reaches 100%. | * changed. | |||
*/ | ||||
static const String EventProgressChanged; | ||||
/** Event fired when the progress bar's value reaches 100%. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ProgressBar whose progress value | ||||
* has reached 100%. | ||||
*/ | ||||
static const String EventProgressDone; | ||||
/******************************************************************* ***** | /******************************************************************* ***** | |||
Accessor Functions | Accessor Functions | |||
******************************************************************** ****/ | ******************************************************************** ****/ | |||
/*! | /*! | |||
\brief | \brief | |||
return the current progress value | return the current progress value | |||
*/ | */ | |||
float getProgress(void) const {return d_progress;} | float getProgress(void) const {return d_progress;} | |||
End of changes. 1 change blocks. | ||||
4 lines changed or deleted | 12 lines changed or added | |||
CEGUIPropertyHelper.h | CEGUIPropertyHelper.h | |||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
static Size stringToSize(const String& str); | static Size stringToSize(const String& str); | |||
static Point stringToPoint(const String& str); | static Point stringToPoint(const String& str); | |||
static Vector3 stringToVector3(const String& str); | static Vector3 stringToVector3(const String& str); | |||
static Rect stringToRect(const String& str); | static Rect stringToRect(const String& str); | |||
static const Image* stringToImage(const String& str); | static const Image* stringToImage(const String& str); | |||
static colour stringToColour(const String& str); | static colour stringToColour(const String& str); | |||
static ColourRect stringToColourRect(const String& str); | static ColourRect stringToColourRect(const String& str); | |||
static UDim stringToUDim(const String& str); | static UDim stringToUDim(const String& str); | |||
static UVector2 stringToUVector2(const String& str); | static UVector2 stringToUVector2(const String& str); | |||
static URect stringToURect(const String& str); | static URect stringToURect(const String& str); | |||
static UBox stringToUBox(const String& str); | ||||
static String floatToString(float val); | static String floatToString(float val); | |||
static String uintToString(uint val); | static String uintToString(uint val); | |||
static String intToString(int val); | static String intToString(int val); | |||
static String boolToString(bool val); | static String boolToString(bool val); | |||
static String sizeToString(const Size& val); | static String sizeToString(const Size& val); | |||
static String pointToString(const Point& val); | static String pointToString(const Point& val); | |||
static String vector3ToString(const Vector3& val); | static String vector3ToString(const Vector3& val); | |||
static String rectToString(const Rect& val); | static String rectToString(const Rect& val); | |||
static String imageToString(const Image* const val); | static String imageToString(const Image* const val); | |||
static String colourToString(const colour& val); | static String colourToString(const colour& val); | |||
static String colourRectToString(const ColourRect& val); | static String colourRectToString(const ColourRect& val); | |||
static String udimToString(const UDim& val); | static String udimToString(const UDim& val); | |||
static String uvector2ToString(const UVector2& val); | static String uvector2ToString(const UVector2& val); | |||
static String urectToString(const URect& val); | static String urectToString(const URect& val); | |||
static String uboxToString(const UBox& val); | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIPropertyHelper_h_ | #endif // end of guard _CEGUIPropertyHelper_h_ | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 2 lines changed or added | |||
CEGUIPushButton.h | CEGUIPushButton.h | |||
---|---|---|---|---|
skipping to change at line 58 | skipping to change at line 58 | |||
class CEGUIEXPORT PushButton : public ButtonBase | class CEGUIEXPORT PushButton : public ButtonBase | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// generated internally by Window | // generated internally by Window | |||
static const String EventClicked; | /** Event fired when the button is clicked. | |||
//!< The button was clicked. | * Handlers are passed a const WindowEventArgs reference with | |||
* WindowEventArgs::window set to the PushButton that was clicked. | ||||
*/ | ||||
static const String EventClicked; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Construction and Destruction | Construction and Destruction | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor for base PushButton class | Constructor for base PushButton class | |||
*/ | */ | |||
PushButton(const String& type, const String& name); | PushButton(const String& type, const String& name); | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 5 lines changed or added | |||
CEGUIRadioButton.h | CEGUIRadioButton.h | |||
---|---|---|---|---|
skipping to change at line 60 | skipping to change at line 60 | |||
class CEGUIEXPORT RadioButton : public ButtonBase | class CEGUIEXPORT RadioButton : public ButtonBase | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// generated internally by Window | // generated internally by Window | |||
static const String EventSelectStateChanged; //!< | /** Event fired when the selected state of the radio button changes. | |||
The selected state of the widget has changed. | * Handlers are passed a const WindowEventArgs reference with | |||
* WindowEventArgs::window set to the RadioButton whose selected state | ||||
has | ||||
* changed. | ||||
*/ | ||||
static const String EventSelectStateChanged; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Accessor Functions | Accessor Functions | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
return true if the radio button is selected (has the checkma rk) | return true if the radio button is selected (has the checkma rk) | |||
\return | \return | |||
true if this widget is selected, false if the widget is not selected. | true if this widget is selected, false if the widget is not selected. | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 7 lines changed or added | |||
CEGUIRect.h | CEGUIRect.h | |||
---|---|---|---|---|
skipping to change at line 193 | skipping to change at line 193 | |||
return ((d_left == rhs.d_left) && (d_right == rhs.d_right) & & (d_top == rhs.d_top) && (d_bottom == rhs.d_bottom)); | return ((d_left == rhs.d_left) && (d_right == rhs.d_right) & & (d_top == rhs.d_top) && (d_bottom == rhs.d_bottom)); | |||
} | } | |||
bool operator!=(const Rect& rhs) const {return !ope rator==(rhs);} | bool operator!=(const Rect& rhs) const {return !ope rator==(rhs);} | |||
Rect& operator=(const Rect& rhs); | Rect& operator=(const Rect& rhs); | |||
Rect operator*(float scalar) const { return Rect(d_left * scalar, d_top * scalar, d_right * scalar, d_bottom * scalar); } | Rect operator*(float scalar) const { return Rect(d_left * scalar, d_top * scalar, d_right * scalar, d_bottom * scalar); } | |||
const Rect& operator*=(float scalar) { d_left *= scalar; d_top *= sc alar; d_right *= scalar; d_bottom *= scalar; return *this; } | const Rect& operator*=(float scalar) { d_left *= scalar; d_top *= sc alar; d_right *= scalar; d_bottom *= scalar; return *this; } | |||
Rect operator+(const Rect& r) const { return Rect(d_left | ||||
+ r.d_left, d_top + r.d_top, d_right + r.d_right, d_bottom + r.d_bottom); | ||||
} | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Data Fields | Data Fields | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
float d_top, d_bottom, d_left, d_right; | float d_left, d_top, d_right, d_bottom; | |||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIRect_h_ | #endif // end of guard _CEGUIRect_h_ | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 5 lines changed or added | |||
CEGUIRefCounted.h | CEGUIRefCounted.h | |||
---|---|---|---|---|
skipping to change at line 40 | skipping to change at line 40 | |||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
/*! | /*! | |||
\brief | \brief | |||
Simple, generic, reference counted pointer class. This is primarily he re | Simple, generic, reference counted pointer class. This is primarily he re | |||
for use by the Events system to track when to delete slot bindings. | for use by the Events system to track when to delete slot bindings. | |||
*/ | */ | |||
template<typename T> | template<typename T> | |||
class CEGUIEXPORT RefCounted | class RefCounted | |||
{ | { | |||
public: | public: | |||
/*! | /*! | |||
\brief | \brief | |||
Default constructor. | Default constructor. | |||
*/ | */ | |||
RefCounted() : | RefCounted() : | |||
d_object(0), | d_object(0), | |||
d_count(0) | d_count(0) | |||
{ | { | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
CEGUIRenderer.h | CEGUIRenderer.h | |||
---|---|---|---|---|
skipping to change at line 56 | skipping to change at line 56 | |||
//! Diagonal split goes from top-left to bottom-right | //! Diagonal split goes from top-left to bottom-right | |||
TopLeftToBottomRight, | TopLeftToBottomRight, | |||
//! Diagonal split goes from bottom-left to top-right | //! Diagonal split goes from bottom-left to top-right | |||
BottomLeftToTopRight | BottomLeftToTopRight | |||
}; | }; | |||
//------------------------------------------------------------------------- ---// | //------------------------------------------------------------------------- ---// | |||
/*! | /*! | |||
\brief | \brief | |||
Enumerated type that contains the valid options that specify the type o | ||||
f | ||||
blending that is to be performed for subsequent rendering operations. | ||||
*/ | ||||
enum BlendMode | ||||
{ | ||||
//! Invalid mode indicator. | ||||
BM_INVALID, | ||||
//! Use normal blending mode. | ||||
BM_NORMAL, | ||||
//! Use blending mode suitable for textures with premultiplied colours. | ||||
BM_RTT_PREMULTIPLIED | ||||
}; | ||||
//------------------------------------------------------------------------- | ||||
---// | ||||
/*! | ||||
\brief | ||||
Abstract class defining the basic required interface for Renderer objec ts. | Abstract class defining the basic required interface for Renderer objec ts. | |||
Objects derived from Renderer are the means by which the GUI system | Objects derived from Renderer are the means by which the GUI system | |||
interfaces with specific rendering technologies. To use a rendering sy stem | interfaces with specific rendering technologies. To use a rendering sy stem | |||
or API to draw CEGUI imagery requires that an appropriate Renderer obje ct be | or API to draw CEGUI imagery requires that an appropriate Renderer obje ct be | |||
available. | available. | |||
*/ | */ | |||
class CEGUIEXPORT Renderer | class CEGUIEXPORT Renderer | |||
{ | { | |||
public: | public: | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 19 lines changed or added | |||
CEGUIRenderingSurface.h | CEGUIRenderingSurface.h | |||
---|---|---|---|---|
skipping to change at line 113 | skipping to change at line 113 | |||
\note | \note | |||
For performance reasons, events are only fired for queues that are in u se; | For performance reasons, events are only fired for queues that are in u se; | |||
these are queues that have had some interaction - such as clearing or a dding | these are queues that have had some interaction - such as clearing or a dding | |||
geometry. | geometry. | |||
*/ | */ | |||
class CEGUIEXPORT RenderingSurface : public EventSet | class CEGUIEXPORT RenderingSurface : public EventSet | |||
{ | { | |||
public: | public: | |||
//! Namespace for global events from RenderingSurface objects. | //! Namespace for global events from RenderingSurface objects. | |||
static const String EventNamespace; | static const String EventNamespace; | |||
//! Event that signals the start of rendering for a queue. | /** Event fired when rendering of a RenderQueue begins for the | |||
* RenderingSurface. | ||||
* Handlers are passed a const RenderQueueEventArgs reference with | ||||
* RenderQueueEventArgs::queueID set to one of the ::RenderQueueID | ||||
* enumerated values indicating the queue that is about to start | ||||
* rendering. | ||||
*/ | ||||
static const String EventRenderQueueStarted; | static const String EventRenderQueueStarted; | |||
//! Event that signals the end of rendering for a queue. | /** Event fired when rendering of a RenderQueue completes for the | |||
* RenderingSurface. | ||||
* Handlers are passed a const RenderQueueEventArgs reference with | ||||
* RenderQueueEventArgs::queueID set to one of the ::RenderQueueID | ||||
* enumerated values indicating the queue that has completed rendering. | ||||
*/ | ||||
static const String EventRenderQueueEnded; | static const String EventRenderQueueEnded; | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor for RenderingSurface objects. | Constructor for RenderingSurface objects. | |||
\param target | \param target | |||
RenderTarget object that will receive rendered output from the | RenderTarget object that will receive rendered output from the | |||
RenderingSurface being created. | RenderingSurface being created. | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 13 lines changed or added | |||
CEGUIRenderingWindow.h | CEGUIRenderingWindow.h | |||
---|---|---|---|---|
skipping to change at line 247 | skipping to change at line 247 | |||
\note | \note | |||
In normal usage you should never have to call this directly. There may | In normal usage you should never have to call this directly. There may | |||
be certain cases where it might be useful to call this when using t he | be certain cases where it might be useful to call this when using t he | |||
RenderEffect system. | RenderEffect system. | |||
*/ | */ | |||
void realiseGeometry(); | void realiseGeometry(); | |||
/*! | /*! | |||
\brief | \brief | |||
Mark the geometry used when rendering the RenderingWindow back to i | ||||
t's | ||||
owning RenderingSurface as invalid so that it gets regenerated on t | ||||
he | ||||
next rendering pass. | ||||
This is separate from the main invalidate() function because in mos | ||||
t | ||||
cases invalidating the cached imagery will not require the potentia | ||||
lly | ||||
expensive regeneration of the geometry for the RenderingWindow itse | ||||
lf. | ||||
*/ | ||||
void invalidateGeometry(); | ||||
/*! | ||||
\brief | ||||
Return the RenderingSurface that owns the RenderingWindow. This is | Return the RenderingSurface that owns the RenderingWindow. This is | |||
also the RenderingSurface that will be used when the RenderingWindo w | also the RenderingSurface that will be used when the RenderingWindo w | |||
renders back it's cached imagery content. | renders back it's cached imagery content. | |||
\return | \return | |||
RenderingSurface object that owns, and is targetted by, the | RenderingSurface object that owns, and is targetted by, the | |||
RenderingWindow. | RenderingWindow. | |||
*/ | */ | |||
const RenderingSurface& getOwner() const; | const RenderingSurface& getOwner() const; | |||
RenderingSurface& getOwner(); | RenderingSurface& getOwner(); | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 17 lines changed or added | |||
CEGUIScheme.h | CEGUIScheme.h | |||
---|---|---|---|---|
skipping to change at line 330 | skipping to change at line 330 | |||
String aliasName; | String aliasName; | |||
String targetName; | String targetName; | |||
}; | }; | |||
struct FalagardMapping | struct FalagardMapping | |||
{ | { | |||
String windowName; | String windowName; | |||
String targetName; | String targetName; | |||
String rendererName; | String rendererName; | |||
String lookName; | String lookName; | |||
String effectName; | ||||
}; | }; | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Implementation Data | Implementation Data | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
String d_name; //!< the name of this scheme. | String d_name; //!< the name of this scheme. | |||
std::vector<LoadableUIElement> d_imagesets; | std::vector<LoadableUIElement> d_imagesets; | |||
std::vector<LoadableUIElement> d_imagesetsFromImages; | std::vector<LoadableUIElement> d_imagesetsFromImages; | |||
std::vector<LoadableUIElement> d_fonts; | std::vector<LoadableUIElement> d_fonts; | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 1 lines changed or added | |||
CEGUIScheme_xmlHandler.h | CEGUIScheme_xmlHandler.h | |||
---|---|---|---|---|
skipping to change at line 100 | skipping to change at line 100 | |||
//! Attribute specifying the base type of a falagard mapped window type . | //! Attribute specifying the base type of a falagard mapped window type . | |||
static const String TargetTypeAttribute; | static const String TargetTypeAttribute; | |||
//! Attribute specifying the name of a LookNFeel for a falagard mapping . | //! Attribute specifying the name of a LookNFeel for a falagard mapping . | |||
static const String LookNFeelAttribute; | static const String LookNFeelAttribute; | |||
//! Element specifying a module and set of WindowRendererFactory elemen ts. | //! Element specifying a module and set of WindowRendererFactory elemen ts. | |||
static const String WindowRendererSetElement; | static const String WindowRendererSetElement; | |||
//! Element specifying a WindowRendererFactory type. | //! Element specifying a WindowRendererFactory type. | |||
static const String WindowRendererFactoryElement; | static const String WindowRendererFactoryElement; | |||
//! Attribute specifying the type name of a window renderer. | //! Attribute specifying the type name of a window renderer. | |||
static const String WindowRendererAttribute; | static const String WindowRendererAttribute; | |||
//! Attribute specifying the name of a registered RenderEffect. | ||||
static const String RenderEffectAttribute; | ||||
//! Function that handles the opening GUIScheme XML element. | //! Function that handles the opening GUIScheme XML element. | |||
void elementGUISchemeStart(const XMLAttributes& attributes); | void elementGUISchemeStart(const XMLAttributes& attributes); | |||
//! Function that handles the Imageset XML element. | //! Function that handles the Imageset XML element. | |||
void elementImagesetStart(const XMLAttributes& attributes); | void elementImagesetStart(const XMLAttributes& attributes); | |||
//! Function that handles the ImagesetFromImage XML element. | //! Function that handles the ImagesetFromImage XML element. | |||
void elementImagesetFromImageStart(const XMLAttributes& attributes); | void elementImagesetFromImageStart(const XMLAttributes& attributes); | |||
//! Function that handles the Font XML element. | //! Function that handles the Font XML element. | |||
void elementFontStart(const XMLAttributes& attributes); | void elementFontStart(const XMLAttributes& attributes); | |||
//! Function that handles the WindowSet XML element. | //! Function that handles the WindowSet XML element. | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 2 lines changed or added | |||
CEGUIScrollablePane.h | CEGUIScrollablePane.h | |||
---|---|---|---|---|
skipping to change at line 76 | skipping to change at line 76 | |||
area larger than the ScrollablePane itself and these child windows can be | area larger than the ScrollablePane itself and these child windows can be | |||
scrolled into view using the scrollbars of the scrollable pane. | scrolled into view using the scrollbars of the scrollable pane. | |||
*/ | */ | |||
class CEGUIEXPORT ScrollablePane : public Window | class CEGUIEXPORT ScrollablePane : public Window | |||
{ | { | |||
public: | public: | |||
//! Window factory name | //! Window factory name | |||
static const String WidgetTypeName; | static const String WidgetTypeName; | |||
//! Namespace for global events | //! Namespace for global events | |||
static const String EventNamespace; | static const String EventNamespace; | |||
//! Event fired when an area on the content pane has been updated. | /** Event fired when an area on the content pane has been updated. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ScrollablePane whose content pane | ||||
* has been updated. | ||||
*/ | ||||
static const String EventContentPaneChanged; | static const String EventContentPaneChanged; | |||
//! Event triggered when the vertical scroll bar 'force' setting change | /** Event fired when the vertical scroll bar 'force' setting is changed | |||
s. | . | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ScrollablePane whose vertical scr | ||||
oll | ||||
* bar mode has been changed. | ||||
*/ | ||||
static const String EventVertScrollbarModeChanged; | static const String EventVertScrollbarModeChanged; | |||
//! Event triggered when the horizontal scroll bar 'force' setting chan | /** Event fired when the horizontal scroll bar 'force' setting is chang | |||
ges. | ed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ScrollablePane whose horizontal s | ||||
croll | ||||
* bar mode has been changed. | ||||
*/ | ||||
static const String EventHorzScrollbarModeChanged; | static const String EventHorzScrollbarModeChanged; | |||
//! Event fired when the auto size setting changes. | /** Event fired when the auto size setting for the pane is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ScrollablePane whose auto size | ||||
* setting has been changed. | ||||
*/ | ||||
static const String EventAutoSizeSettingChanged; | static const String EventAutoSizeSettingChanged; | |||
//! Event fired when the pane gets scrolled. | /** Event fired when the pane gets scrolled. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ScrollablePane that has been scro | ||||
lled. | ||||
*/ | ||||
static const String EventContentPaneScrolled; | static const String EventContentPaneScrolled; | |||
//! Widget name suffix for the vertical scrollbar component. | //! Widget name suffix for the vertical scrollbar component. | |||
static const String VertScrollbarNameSuffix; | static const String VertScrollbarNameSuffix; | |||
//! Widget name suffix for the horizontal scrollbar component. | //! Widget name suffix for the horizontal scrollbar component. | |||
static const String HorzScrollbarNameSuffix; | static const String HorzScrollbarNameSuffix; | |||
//! Widget name suffix for the scrolled container component. | //! Widget name suffix for the scrolled container component. | |||
static const String ScrolledContainerNameSuffix; | static const String ScrolledContainerNameSuffix; | |||
//! Constructor for the ScrollablePane base class. | //! Constructor for the ScrollablePane base class. | |||
ScrollablePane(const String& type, const String& name); | ScrollablePane(const String& type, const String& name); | |||
End of changes. 5 change blocks. | ||||
7 lines changed or deleted | 29 lines changed or added | |||
CEGUIScrollbar.h | CEGUIScrollbar.h | |||
---|---|---|---|---|
/*********************************************************************** | /*********************************************************************** | |||
filename: CEGUIScrollbar.h | filename: CEGUIScrollbar.h | |||
created: 13/4/2004 | created: 13/4/2004 | |||
author: Paul D Turner | author: Paul D Turner | |||
purpose: Interface to base class for Scrollbar widget | ||||
*************************************************************************/ | *************************************************************************/ | |||
/************************************************************************** * | /************************************************************************** * | |||
* Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team | * Copyright (C) 2004 - 2010 Paul D Turner & The CEGUI Development Team | |||
* | * | |||
* Permission is hereby granted, free of charge, to any person obtaining | * Permission is hereby granted, free of charge, to any person obtaining | |||
* a copy of this software and associated documentation files (the | * a copy of this software and associated documentation files (the | |||
* "Software"), to deal in the Software without restriction, including | * "Software"), to deal in the Software without restriction, including | |||
* without limitation the rights to use, copy, modify, merge, publish, | * without limitation the rights to use, copy, modify, merge, publish, | |||
* distribute, sublicense, and/or sell copies of the Software, and to | * distribute, sublicense, and/or sell copies of the Software, and to | |||
* permit persons to whom the Software is furnished to do so, subject to | * permit persons to whom the Software is furnished to do so, subject to | |||
* the following conditions: | * the following conditions: | |||
* | * | |||
* The above copyright notice and this permission notice shall be | * The above copyright notice and this permission notice shall be | |||
skipping to change at line 38 | skipping to change at line 36 | |||
* OTHER DEALINGS IN THE SOFTWARE. | * OTHER DEALINGS IN THE SOFTWARE. | |||
************************************************************************** */ | ************************************************************************** */ | |||
#ifndef _CEGUIScrollbar_h_ | #ifndef _CEGUIScrollbar_h_ | |||
#define _CEGUIScrollbar_h_ | #define _CEGUIScrollbar_h_ | |||
#include "../CEGUIBase.h" | #include "../CEGUIBase.h" | |||
#include "../CEGUIWindow.h" | #include "../CEGUIWindow.h" | |||
#include "CEGUIScrollbarProperties.h" | #include "CEGUIScrollbarProperties.h" | |||
#if defined(_MSC_VER) | #if defined(_MSC_VER) | |||
# pragma warning(push) | # pragma warning(push) | |||
# pragma warning(disable : 4251) | # pragma warning(disable : 4251) | |||
#endif | #endif | |||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
/*! | /*! | |||
\brief | \brief | |||
Base class for ItemEntry window renderer objects. | Base class for Scrollbar window renderer objects. | |||
*/ | */ | |||
class CEGUIEXPORT ScrollbarWindowRenderer : public WindowRenderer | class CEGUIEXPORT ScrollbarWindowRenderer : public WindowRenderer | |||
{ | { | |||
public: | public: | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor | Constructor | |||
*/ | */ | |||
ScrollbarWindowRenderer(const String& name); | ScrollbarWindowRenderer(const String& name); | |||
/*! | /*! | |||
\brief | \brief | |||
update the size and location of the thumb to properly represent the | update the size and location of the thumb to properly represent the | |||
current state of the scroll bar | current state of the scroll bar | |||
*/ | */ | |||
virtual void updateThumb(void) = 0; | virtual void updateThumb(void) = 0; | |||
/*! | /*! | |||
\brief | \brief | |||
return value that best represents current scroll bar position given | return value that best represents current scroll bar position given | |||
the current location of the thumb. | the | |||
current location of the thumb. | ||||
\return | \return | |||
float value that, given the thumb widget position, best represents | float value that, given the thumb widget position, best represents | |||
the current position for the scroll bar. | the | |||
current position for the scroll bar. | ||||
*/ | */ | |||
virtual float getValueFromThumb(void) const = 0; | virtual float getValueFromThumb(void) const = 0; | |||
/*! | /*! | |||
\brief | \brief | |||
Given window location \a pt, return a value indicating what change | Given window location \a pt, return a value indicating what change | |||
should be | should be made to the scroll bar. | |||
made to the scroll bar. | ||||
\param pt | \param pt | |||
Point object describing a pixel position in window space. | Point object describing a pixel position in window space. | |||
\return | \return | |||
- -1 to indicate scroll bar position should be moved to a lower val ue. | - -1 to indicate scroll bar position should be moved to a lower val ue. | |||
- 0 to indicate scroll bar position should not be changed. | - 0 to indicate scroll bar position should not be changed. | |||
- +1 to indicate scroll bar position should be moved to a higher va lue. | - +1 to indicate scroll bar position should be moved to a higher va lue. | |||
*/ | */ | |||
virtual float getAdjustDirectionFromPoint(const Point& pt) const = 0 ; | virtual float getAdjustDirectionFromPoint(const Point& pt) const = 0; | |||
}; | }; | |||
/*! | /*! | |||
\brief | \brief | |||
Base scroll bar class. | Base scroll bar class. | |||
This base class for scroll bars does not have any idea of direction | This base class for scroll bars does not have any idea of direction - a | |||
- a derived class would | derived class would add whatever meaning is appropriate according to wh | |||
add whatever meaning is appropriate according to what that derived c | at | |||
lass | that derived class represents to the user. | |||
represents to the user. | ||||
*/ | */ | |||
class CEGUIEXPORT Scrollbar : public Window | class CEGUIEXPORT Scrollbar : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< | //! Namespace for global events | |||
Namespace for global events | static const String EventNamespace; | |||
static const String WidgetTypeName; //!< Window factory nam | //! Window factory name | |||
e | static const String WidgetTypeName; | |||
/******************************************************************* | /********************************************************************** | |||
****** | *** | |||
Event name constants | Event name constants | |||
******************************************************************** | *********************************************************************** | |||
*****/ | **/ | |||
static const String EventScrollPositionChanged; //!< Name of | /** Event fired when the scroll bar position value changes. | |||
the event fired when the scroll bar position value changes | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventThumbTrackStarted; //!< | * WindowEventArgs::window set to the Scrollbar whose position value ha | |||
Name of the event fired when the user begins dragging the thumb. | d | |||
static const String EventThumbTrackEnded; | * changed. | |||
//!< Name of the event fired when the user releases the thumb. | */ | |||
static const String EventScrollConfigChanged; //!< | static const String EventScrollPositionChanged; | |||
Name of the event fired when the scroll bar configuration data changes. | /** Event fired when the user begins dragging the scrollbar thumb. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Scrollbar whose thumb is being | ||||
* dragged. | ||||
*/ | ||||
static const String EventThumbTrackStarted; | ||||
/** Event fired when the user releases the scrollbar thumb. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Scrollbar whose thumb has been | ||||
* released. | ||||
*/ | ||||
static const String EventThumbTrackEnded; | ||||
/** Event fired when the scroll bar configuration data is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Scrollbar whose configuration | ||||
* has been changed. | ||||
*/ | ||||
static const String EventScrollConfigChanged; | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String ThumbNameSuffix; //!< Widget name suffix | //! Widget name suffix for the thumb component. | |||
for the thumb component. | static const String ThumbNameSuffix; | |||
static const String IncreaseButtonNameSuffix; //!< Widget name suffix | //! Widget name suffix for the increase button component. | |||
for the increase button component. | static const String IncreaseButtonNameSuffix; | |||
static const String DecreaseButtonNameSuffix; //!< Widget name suffix | //! Widget name suffix for the decrease button component. | |||
for the decrease button component. | static const String DecreaseButtonNameSuffix; | |||
/******************************************************************* | /********************************************************************** | |||
****** | *** | |||
Accessor functions | Accessor functions | |||
******************************************************************** | *********************************************************************** | |||
*****/ | **/ | |||
/*! | /*! | |||
\brief | \brief | |||
Return the size of the document or data. | Return the size of the document or data. | |||
The document size should be thought of as the total size of | The document size should be thought of as the total size of the dat | |||
the data that | a | |||
is being scrolled through (the number of lines in a text fil | that is being scrolled through (the number of lines in a text file | |||
e for example). | for | |||
example). | ||||
\note | \note | |||
The returned value has no meaning within the Gui system, it | The returned value has no meaning within the Gui system, it is left | |||
is left up to the | up | |||
application to assign appropriate values for the application | to the application to assign appropriate values for the application | |||
specific use of | specific use of the scroll bar. | |||
the scroll bar. | ||||
\return | \return | |||
float value specifying the currently set document size. | float value specifying the currently set document size. | |||
*/ | */ | |||
float getDocumentSize(void) const {return d_do | float getDocumentSize(void) const | |||
cumentSize;} | { | |||
return d_documentSize; | ||||
} | ||||
/*! | /*! | |||
\brief | \brief | |||
Return the page size for this scroll bar. | Return the page size for this scroll bar. | |||
The page size is typically the amount of data that can be di | The page size is typically the amount of data that can be displayed | |||
splayed at one | at | |||
time. This value is also used when calculating the amount t | one time. This value is also used when calculating the amount the | |||
he position will | position will change when you click either side of the scroll bar | |||
change when you click either side of the scroll bar thumb - | thumb, the amount the position changes will is (pageSize - overlapS | |||
the amount the | ize). | |||
position changes will is (pageSize - overlapSize). | ||||
\note | \note | |||
The returned value has no meaning within the Gui system, it | The returned value has no meaning within the Gui system, it is left | |||
is left up to the | up | |||
application to assign appropriate values for the application | to the application to assign appropriate values for the application | |||
specific use of | specific use of the scroll bar. | |||
the scroll bar. | ||||
\return | \return | |||
float value specifying the currently set page size. | float value specifying the currently set page size. | |||
*/ | */ | |||
float getPageSize(void) const {return d_pa | float getPageSize(void) const | |||
geSize;} | { | |||
return d_pageSize; | ||||
} | ||||
/*! | /*! | |||
\brief | \brief | |||
Return the step size for this scroll bar. | Return the step size for this scroll bar. | |||
The step size is typically a single unit of data that can be | The step size is typically a single unit of data that can be displa | |||
displayed, this is the | yed, | |||
amount the position will change when you click either of the | this is the amount the position will change when you click either o | |||
arrow buttons on the | f | |||
scroll bar. (this could be 1 for a single line of text, for | the arrow buttons on the scroll bar. (this could be 1 for a single | |||
example). | line of text, for example). | |||
\note | \note | |||
The returned value has no meaning within the Gui system, it | The returned value has no meaning within the Gui system, it is left | |||
is left up to the | up | |||
application to assign appropriate values for the application | to the application to assign appropriate values for the application | |||
specific use of | specific use of the scroll bar. | |||
the scroll bar. | ||||
\return | \return | |||
float value specifying the currently set step size. | float value specifying the currently set step size. | |||
*/ | */ | |||
float getStepSize(void) const {return d_st | float getStepSize(void) const | |||
epSize;} | { | |||
return d_stepSize; | ||||
} | ||||
/*! | /*! | |||
\brief | \brief | |||
Return the overlap size for this scroll bar. | Return the overlap size for this scroll bar. | |||
The overlap size is the amount of data from the end of a 'pa | The overlap size is the amount of data from the end of a 'page' tha | |||
ge' that will | t | |||
remain visible when the position is moved by a page. This i | will remain visible when the position is moved by a page. This is | |||
s usually used | usually used so that the user keeps some context of where they were | |||
so that the user keeps some context of where they were withi | within the document's data when jumping a page at a time. | |||
n the document's | ||||
data when jumping a page at a time. | ||||
\note | \note | |||
The returned value has no meaning within the Gui system, it | The returned value has no meaning within the Gui system, it is left | |||
is left up to the | up | |||
application to assign appropriate values for the application | to the application to assign appropriate values for the application | |||
specific use of | specific use of the scroll bar. | |||
the scroll bar. | ||||
\return | \return | |||
float value specifying the currently set overlap size. | float value specifying the currently set overlap size. | |||
*/ | */ | |||
float getOverlapSize(void) const {return d_ov | float getOverlapSize(void) const | |||
erlapSize;} | { | |||
return d_overlapSize; | ||||
} | ||||
/*! | /*! | |||
\brief | \brief | |||
Return the current position of scroll bar within the documen | Return the current position of scroll bar within the document. | |||
t. | ||||
The range of the scroll bar is from 0 to the size of the doc | The range of the scroll bar is from 0 to the size of the document m | |||
ument minus the | inus | |||
size of a page (0 <= position <= (documentSize - pageSize)). | the size of a page (0 <= position <= (documentSize - pageSize)). | |||
\note | \note | |||
The returned value has no meaning within the Gui system, it | The returned value has no meaning within the Gui system, it is left | |||
is left up to the | up | |||
application to assign appropriate values for the application | to the application to assign appropriate values for the application | |||
specific use of | specific use of the scroll bar. | |||
the scroll bar. | ||||
\return | \return | |||
float value specifying the current position of the scroll ba | float value specifying the current position of the scroll bar withi | |||
r within its | n its | |||
document. | document. | |||
*/ | */ | |||
float getScrollPosition(void) const {return d_position;} | float getScrollPosition(void) const | |||
{ | ||||
return d_position; | ||||
} | ||||
/*! | /*! | |||
\brief | \brief | |||
Return a pointer to the 'increase' PushButtoncomponent widget for t his | Return a pointer to the 'increase' PushButtoncomponent widget for t his | |||
Scrollbar. | Scrollbar. | |||
\return | \return | |||
Pointer to a PushButton object. | Pointer to a PushButton object. | |||
\exception UnknownObjectException | \exception UnknownObjectException | |||
skipping to change at line 250 | skipping to change at line 293 | |||
Return a pointer to the Thumb component widget for this Scrollbar. | Return a pointer to the Thumb component widget for this Scrollbar. | |||
\return | \return | |||
Pointer to a Thumb object. | Pointer to a Thumb object. | |||
\exception UnknownObjectException | \exception UnknownObjectException | |||
Thrown if the Thumb component does not exist. | Thrown if the Thumb component does not exist. | |||
*/ | */ | |||
Thumb* getThumb() const; | Thumb* getThumb() const; | |||
/******************************************************************* | /********************************************************************** | |||
****** | *** | |||
Manipulator Commands | Manipulator Commands | |||
******************************************************************** | *********************************************************************** | |||
*****/ | **/ | |||
/*! | /*! | |||
\brief | \brief | |||
Initialises the Scrollbar object ready for use. | Initialises the Scrollbar object ready for use. | |||
\note | \note | |||
This must be called for every window created. Normally this | This must be called for every window created. Normally this is han | |||
is handled automatically by the WindowFactory for each Window type. | dled | |||
automatically by the WindowFactory for each Window type. | ||||
\return | \return | |||
Nothing | Nothing | |||
*/ | */ | |||
virtual void initialiseComponents(void); | virtual void initialiseComponents(void); | |||
/*! | /*! | |||
\brief | \brief | |||
Set the size of the document or data. | Set the size of the document or data. | |||
The document size should be thought of as the total size of | The document size should be thought of as the total size of the dat | |||
the data that | a | |||
is being scrolled through (the number of lines in a text fil | that is being scrolled through (the number of lines in a text file | |||
e for example). | for | |||
example). | ||||
\note | \note | |||
The value set has no meaning within the Gui system, it is le | The value set has no meaning within the Gui system, it is left up t | |||
ft up to the | o | |||
application to assign appropriate values for the application | the application to assign appropriate values for the application | |||
specific use of | specific use of the scroll bar. | |||
the scroll bar. | ||||
\param document_size | \param document_size | |||
float value specifying the document size. | float value specifying the document size. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void setDocumentSize(float document_size); | void setDocumentSize(float document_size); | |||
/*! | /*! | |||
\brief | \brief | |||
Set the page size for this scroll bar. | Set the page size for this scroll bar. | |||
The page size is typically the amount of data that can be di | The page size is typically the amount of data that can be displayed | |||
splayed at one | at | |||
time. This value is also used when calculating the amount t | one time. This value is also used when calculating the amount the | |||
he position will | position will change when you click either side of the scroll bar | |||
change when you click either side of the scroll bar thumb - | thumb, the amount the position changes will is (pageSize - overlapS | |||
the amount the | ize). | |||
position changes will is (pageSize - overlapSize). | ||||
\note | \note | |||
The value set has no meaning within the Gui system, it is le | The value set has no meaning within the Gui system, it is left up t | |||
ft up to the | o the | |||
application to assign appropriate values for the application | application to assign appropriate values for the application specif | |||
specific use of | ic | |||
the scroll bar. | use of the scroll bar. | |||
\param page_size | \param page_size | |||
float value specifying the page size. | float value specifying the page size. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void setPageSize(float page_size); | void setPageSize(float page_size); | |||
/*! | /*! | |||
\brief | \brief | |||
Set the step size for this scroll bar. | Set the step size for this scroll bar. | |||
The step size is typically a single unit of data that can be | The step size is typically a single unit of data that can be displa | |||
displayed, this is the | yed, | |||
amount the position will change when you click either of the | this is the amount the position will change when you click either o | |||
arrow buttons on the | f the | |||
scroll bar. (this could be 1 for a single line of text, for | arrow buttons on the scroll bar. (this could be 1 for a single lin | |||
example). | e of | |||
text, for example). | ||||
\note | \note | |||
The value set has no meaning within the Gui system, it is le | The value set has no meaning within the Gui system, it is left up t | |||
ft up to the | o the | |||
application to assign appropriate values for the application | application to assign appropriate values for the application specif | |||
specific use of | ic | |||
the scroll bar. | use of the scroll bar. | |||
\param step_size | \param step_size | |||
float value specifying the step size. | float value specifying the step size. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void setStepSize(float step_size); | void setStepSize(float step_size); | |||
/*! | /*! | |||
\brief | \brief | |||
Set the overlap size for this scroll bar. | Set the overlap size for this scroll bar. | |||
The overlap size is the amount of data from the end of a 'pa | The overlap size is the amount of data from the end of a 'page' tha | |||
ge' that will | t | |||
remain visible when the position is moved by a page. This i | will remain visible when the position is moved by a page. This is | |||
s usually used | usually used so that the user keeps some context of where they were | |||
so that the user keeps some context of where they were withi | within the document's data when jumping a page at a time. | |||
n the document's | ||||
data when jumping a page at a time. | ||||
\note | \note | |||
The value set has no meaning within the Gui system, it is le | The value set has no meaning within the Gui system, it is left up t | |||
ft up to the | o the | |||
application to assign appropriate values for the application | application to assign appropriate values for the application specif | |||
specific use of | ic | |||
the scroll bar. | use of the scroll bar. | |||
\param overlap_size | \param overlap_size | |||
float value specifying the overlap size. | float value specifying the overlap size. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void setOverlapSize(float overlap_size); | void setOverlapSize(float overlap_size); | |||
/*! | /*! | |||
\brief | \brief | |||
Set the current position of scroll bar within the document. | Set the current position of scroll bar within the document. | |||
The range of the scroll bar is from 0 to the size of the doc | The range of the scroll bar is from 0 to the size of the document m | |||
ument minus the | inus | |||
size of a page (0 <= position <= (documentSize - pageSize)), | the size of a page (0 <= position <= (documentSize - pageSize)), an | |||
any attempt to | y | |||
set the position outside this range will be adjusted so that | attempt to set the position outside this range will be adjusted so | |||
it falls within | that | |||
the legal range. | it falls within the legal range. | |||
\note | \note | |||
The returned value has no meaning within the Gui system, it | The returned value has no meaning within the Gui system, it is left | |||
is left up to the | up | |||
application to assign appropriate values for the application | to the application to assign appropriate values for the application | |||
specific use of | specific use of the scroll bar. | |||
the scroll bar. | ||||
\param position | \param position | |||
float value specifying the position of the scroll bar within | float value specifying the position of the scroll bar within its | |||
its | document. | |||
document. | ||||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void setScrollPosition(float position); | void setScrollPosition(float position); | |||
/******************************************************************* | /*! | |||
****** | \brief | |||
Construction / Destruction | Sets multiple scrollbar configuration parameters simultaneously. | |||
******************************************************************** | ||||
*****/ | ||||
/*! | ||||
\brief | ||||
Constructor for Scrollbar objects | ||||
*/ | ||||
Scrollbar(const String& type, const String& name); | ||||
/*! | This function is provided in order to be able to minimise the numbe | |||
\brief | r | |||
Destructor for Scrollbar objects | of internal state updates that occur when modifying the scrollbar | |||
*/ | parameters. | |||
virtual ~Scrollbar(void); | ||||
protected: | \param document_size | |||
/******************************************************************* | Pointer to a float value holding the new value to be used for the | |||
****** | scroll bar document size. If this is 0 the document size is left | |||
Implementation Methods | unchanged. | |||
******************************************************************** | ||||
*****/ | ||||
/*! | ||||
\brief | ||||
update the size and location of the thumb to properly repres | ||||
ent the current state of the scroll bar | ||||
*/ | ||||
void updateThumb(void); | ||||
/*! | \param page_size | |||
\brief | Pointer to a float value holding the new value to be used for the s | |||
return value that best represents current scroll bar positio | croll | |||
n given the current location of the thumb. | bar page size. If this is 0 the page size is left unchanged. | |||
\return | \param step_size | |||
float value that, given the thumb widget position, best repr | Pointer to a float value holding the new value to be used for the s | |||
esents the current position for the scroll bar. | croll | |||
*/ | bar step size. If this is 0 the step size is left unchanged. | |||
float getValueFromThumb(void) const; | ||||
/*! | \param overlap_size | |||
\brief | Pointer to a float value holding the new value to be used for the s | |||
Given window location \a pt, return a value indicating what | croll | |||
change should be | bar overlap size. If this is 0 then overlap size is left unchanged | |||
made to the scroll bar. | . | |||
\param pt | \param position | |||
Point object describing a pixel position in window space. | Pointer to a float value holding the new value to be used for the s | |||
croll | ||||
bar current scroll position. If this is 0 then the current positio | ||||
n is | ||||
left unchanged. | ||||
\return | \note | |||
- -1 to indicate scroll bar position should be moved to a lo | Even if \a position is 0, the scrollbar position may still change | |||
wer value. | depending on how the other changes affect the scrollbar. | |||
- 0 to indicate scroll bar position should not be changed. | */ | |||
- +1 to indicate scroll bar position should be moved to a hi | void setConfig(const float* const document_size, | |||
gher value. | const float* const page_size, | |||
*/ | const float* const step_size, | |||
float getAdjustDirectionFromPoint(const Point& pt) const; | const float* const overlap_size, | |||
const float* const position); | ||||
/*! | /*! | |||
\brief | \brief | |||
update the size and location of the thumb to properly represent the | Enable or disable the 'end lock' mode for the scrollbar. | |||
current state of the scroll bar | ||||
When enabled and the current position of the scrollbar is at the en | ||||
d of | ||||
it's travel, the end lock mode of the scrollbar will automatically | ||||
update the position when the document and/or page size change in or | ||||
der | ||||
that the scroll position will remain at the end of it's travel. Th | ||||
is | ||||
can be used to implement auto-scrolling in certain other widget typ | ||||
es. | ||||
\param enabled | ||||
- true to indicate that end lock mode should be enabled. | ||||
- false to indicate that end lock mode should be disabled. | ||||
*/ | */ | |||
//virtual void updateThumb_impl(void) = 0; | void setEndLockEnabled(const bool enabled); | |||
/*! | /*! | |||
\brief | \brief | |||
return value that best represents current scroll bar position given | Returns whether the 'end lock'mode for the scrollbar is enabled. | |||
the current location of the thumb. | ||||
When enabled, and the current position of the scrollbar is at the e | ||||
nd of | ||||
it's travel, the end lock mode of the scrollbar will automatically | ||||
update the scrollbar position when the document and/or page size ch | ||||
ange | ||||
in order that the scroll position will remain at the end of it's tr | ||||
avel. | ||||
This can be used to implement auto-scrolling in certain other widge | ||||
t | ||||
types. | ||||
\return | \return | |||
float value that, given the thumb widget position, best represents | - true to indicate that the end lock mode is enabled. | |||
the current position for the scroll bar. | - false to indicate that the end lock mode is disabled. | |||
*/ | */ | |||
//virtual float getValueFromThumb_impl(void) const = 0; | bool isEndLockEnabled() const; | |||
//! Constructor for Scrollbar objects | ||||
Scrollbar(const String& type, const String& name); | ||||
//! Destructor for Scrollbar objects | ||||
virtual ~Scrollbar(void); | ||||
protected: | ||||
/*! | ||||
\brief | ||||
update the size and location of the thumb to properly represent the | ||||
current state of the scroll bar | ||||
*/ | ||||
void updateThumb(void); | ||||
/*! | /*! | |||
\brief | \brief | |||
Given window location \a pt, return a value indicating what change | return value that best represents current scroll bar position given | |||
should be | the | |||
made to the scroll bar. | current location of the thumb. | |||
\return | ||||
float value that, given the thumb widget position, best represents | ||||
the | ||||
current position for the scroll bar. | ||||
*/ | ||||
float getValueFromThumb(void) const; | ||||
/*! | ||||
\brief | ||||
Given window location \a pt, return a value indicating what change | ||||
should be made to the scroll bar. | ||||
\param pt | \param pt | |||
Point object describing a pixel position in window space. | Point object describing a pixel position in window space. | |||
\return | \return | |||
- -1 to indicate scroll bar position should be moved to a lower val ue. | - -1 to indicate scroll bar position should be moved to a lower val ue. | |||
- 0 to indicate scroll bar position should not be changed. | - 0 to indicate scroll bar position should not be changed. | |||
- +1 to indicate scroll bar position should be moved to a higher va lue. | - +1 to indicate scroll bar position should be moved to a higher va lue. | |||
*/ | */ | |||
//virtual float getAdjustDirectionFromPoint_impl(const Point& pt) con st = 0; | float getAdjustDirectionFromPoint(const Point& pt) const; | |||
/*! | /** implementation func that updates scroll position value, returns tru | |||
\brief | e if | |||
handler function for when thumb moves. | * value was changed. NB: Fires no events and does no other updates. | |||
*/ | */ | |||
bool handleThumbMoved(const EventArgs& e); | bool setScrollPosition_impl(const float position); | |||
/*! | //! return whether the current scroll position is at the end of the ran | |||
\brief | ge. | |||
handler function for when the increase button is clicked. | bool isAtEnd() const; | |||
*/ | ||||
bool handleIncreaseClicked(const EventArgs& e); | ||||
/*! | //! return the max allowable scroll position value | |||
\brief | float getMaxScrollPosition() const; | |||
handler function for when the decrease button is clicked. | ||||
*/ | ||||
bool handleDecreaseClicked(const EventArgs& e); | ||||
/*! | //! handler function for when thumb moves. | |||
\brief | bool handleThumbMoved(const EventArgs& e); | |||
handler function for when thumb tracking begins | ||||
*/ | ||||
bool handleThumbTrackStarted(const EventArgs& e); | ||||
/*! | //! handler function for when the increase button is clicked. | |||
\brief | bool handleIncreaseClicked(const EventArgs& e); | |||
handler function for when thumb tracking begins | ||||
*/ | ||||
bool handleThumbTrackEnded(const EventArgs& e); | ||||
/*! | //! handler function for when the decrease button is clicked. | |||
\brief | bool handleDecreaseClicked(const EventArgs& e); | |||
Return whether this window was inherited from the given clas | ||||
s name at some point in the inheritance hierarchy. | ||||
\param class_name | //! handler function for when thumb tracking begins | |||
The class name that is to be checked. | bool handleThumbTrackStarted(const EventArgs& e); | |||
\return | //! handler function for when thumb tracking begins | |||
true if this window was inherited from \a class_name. false | bool handleThumbTrackEnded(const EventArgs& e); | |||
if not. | ||||
*/ | ||||
virtual bool testClassName_impl(const String& class_name) const | ||||
{ | ||||
if (class_name=="Scrollbar") return true; | ||||
return Window::testClassName_impl(class_name); | ||||
} | ||||
// validate window renderer | /*! | |||
\brief | ||||
Return whether this window was inherited from the given class name | ||||
at | ||||
some point in the inheritance hierarchy. | ||||
\param class_name | ||||
The class name that is to be checked. | ||||
\return | ||||
true if this window was inherited from \a class_name. false if not. | ||||
*/ | ||||
virtual bool testClassName_impl(const String& class_name) const | ||||
{ | ||||
if (class_name == "Scrollbar") return true; | ||||
return Window::testClassName_impl(class_name); | ||||
} | ||||
//! validate window renderer | ||||
virtual bool validateWindowRenderer(const String& name) const | virtual bool validateWindowRenderer(const String& name) const | |||
{ | { | |||
return (name == "Scrollbar"); | return (name == "Scrollbar"); | |||
} | } | |||
/******************************************************************* | // New event handlers for slider widget | |||
****** | //! Handler triggered when the scroll position changes | |||
New event handlers for slider widget | virtual void onScrollPositionChanged(WindowEventArgs& e); | |||
******************************************************************** | ||||
*****/ | ||||
/*! | ||||
\brief | ||||
Handler triggered when the scroll position changes | ||||
*/ | ||||
virtual void onScrollPositionChanged(WindowEventArgs& e); | ||||
/*! | //! Handler triggered when the user begins to drag the scroll bar thumb | |||
\brief | . | |||
Handler triggered when the user begins to drag the scroll ba | virtual void onThumbTrackStarted(WindowEventArgs& e); | |||
r thumb. | ||||
*/ | ||||
virtual void onThumbTrackStarted(WindowEventArgs& e); | ||||
/*! | //! Handler triggered when the scroll bar thumb is released | |||
\brief | virtual void onThumbTrackEnded(WindowEventArgs& e); | |||
Handler triggered when the scroll bar thumb is released | ||||
*/ | ||||
virtual void onThumbTrackEnded(WindowEventArgs& e); | ||||
/*! | //! Handler triggered when the scroll bar data configuration changes | |||
\brief | virtual void onScrollConfigChanged(WindowEventArgs& e); | |||
Handler triggered when the scroll bar data configuration cha | ||||
nges | ||||
*/ | ||||
virtual void onScrollConfigChanged(WindowEventArgs& e); | ||||
/******************************************************************* | // Overridden event handlers | |||
****** | virtual void onMouseButtonDown(MouseEventArgs& e); | |||
Overridden event handlers | virtual void onMouseWheel(MouseEventArgs& e); | |||
******************************************************************** | ||||
*****/ | ||||
virtual void onMouseButtonDown(MouseEventArgs& e); | ||||
virtual void onMouseWheel(MouseEventArgs& e); | ||||
/******************************************************************* | // Implementation Data | |||
****** | //! The size of the document / data being scrolled thorugh. | |||
Implementation Data | float d_documentSize; | |||
******************************************************************** | //! The size of a single 'page' of data. | |||
*****/ | float d_pageSize; | |||
float d_documentSize; //!< The size of the document / data | //! Step size used for increase / decrease button clicks. | |||
being scrolled thorugh. | float d_stepSize; | |||
float d_pageSize; //!< The size of a single 'p | //! Amount of overlap when jumping by a page. | |||
age' of data. | float d_overlapSize; | |||
float d_stepSize; //!< Step size used for incr | //! Current scroll position. | |||
ease / decrease button clicks. | float d_position; | |||
float d_overlapSize; //!< Amount of overlap when jumping | //! whether 'end lock' mode is enabled. | |||
by a page. | bool d_endLockPosition; | |||
float d_position; //!< Current scroll position | ||||
. | ||||
private: | private: | |||
/******************************************************************* | // Static Properties for this class | |||
****** | static ScrollbarProperties::DocumentSize d_documentSizeProperty; | |||
Static Properties for this class | static ScrollbarProperties::PageSize d_pageSizeProperty; | |||
******************************************************************** | static ScrollbarProperties::StepSize d_stepSizeProperty; | |||
*****/ | static ScrollbarProperties::OverlapSize d_overlapSizeProperty; | |||
static ScrollbarProperties::DocumentSize d_documentSizeProper | static ScrollbarProperties::ScrollPosition d_scrollPositionProperty; | |||
ty; | static ScrollbarProperties::EndLockEnabled d_endLockEnabledProperty; | |||
static ScrollbarProperties::PageSize d_pageSizeProperty; | ||||
static ScrollbarProperties::StepSize d_stepSizeProperty; | ||||
static ScrollbarProperties::OverlapSize d_overlapSizePropert | ||||
y; | ||||
static ScrollbarProperties::ScrollPosition d_scrollPositionProp | ||||
erty; | ||||
/******************************************************************* | //! Adds scrollbar specific properties. | |||
****** | void addScrollbarProperties(void); | |||
Private methods | ||||
******************************************************************** | ||||
*****/ | ||||
void addScrollbarProperties(void); | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#if defined(_MSC_VER) | #if defined(_MSC_VER) | |||
# pragma warning(pop) | # pragma warning(pop) | |||
#endif | #endif | |||
#endif // end of guard _CEGUIScrollbar_h_ | #endif // end of guard _CEGUIScrollbar_h_ | |||
End of changes. 98 change blocks. | ||||
450 lines changed or deleted | 468 lines changed or added | |||
CEGUIScrollbarProperties.h | CEGUIScrollbarProperties.h | |||
---|---|---|---|---|
skipping to change at line 166 | skipping to change at line 166 | |||
ScrollPosition() : Property( | ScrollPosition() : Property( | |||
"ScrollPosition", | "ScrollPosition", | |||
"Property to get/set the scroll position of the Scrollbar. Value is a float.", | "Property to get/set the scroll position of the Scrollbar. Value is a float.", | |||
"0.000000") | "0.000000") | |||
{} | {} | |||
String get(const PropertyReceiver* receiver) const; | String get(const PropertyReceiver* receiver) const; | |||
void set(PropertyReceiver* receiver, const String& value); | void set(PropertyReceiver* receiver, const String& value); | |||
}; | }; | |||
/*! | ||||
\brief | ||||
Property to access the end lock mode setting for the Scrollbar. | ||||
\par Usage: | ||||
- Name: EndLockEnabled | ||||
- Format: "[text]". | ||||
\par Where [Text] is: | ||||
- "True" to indicate end lock mode is enabled. | ||||
- "False" to indicate end lock mode is disabled. | ||||
*/ | ||||
class EndLockEnabled : public Property | ||||
{ | ||||
public: | ||||
EndLockEnabled() : Property( | ||||
"EndLockEnabled", | ||||
"Property to get/set the 'end lock' mode setting for the Scrollbar. | ||||
" | ||||
"Value is either \"True\" or \"False\".", | ||||
"False") | ||||
{} | ||||
String get(const PropertyReceiver* receiver) const; | ||||
void set(PropertyReceiver* receiver, const String& value); | ||||
}; | ||||
} // End of ScrollbarProperties namespace section | } // End of ScrollbarProperties namespace section | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIScrollbarProperties_h_ | #endif // end of guard _CEGUIScrollbarProperties_h_ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 27 lines changed or added | |||
CEGUIScrolledContainer.h | CEGUIScrolledContainer.h | |||
---|---|---|---|---|
skipping to change at line 56 | skipping to change at line 56 | |||
Helper container window class which is used in the implementation of th e | Helper container window class which is used in the implementation of th e | |||
ScrollablePane widget class. | ScrollablePane widget class. | |||
*/ | */ | |||
class CEGUIEXPORT ScrolledContainer : public Window | class CEGUIEXPORT ScrolledContainer : public Window | |||
{ | { | |||
public: | public: | |||
//! Type name for ScrolledContainer. | //! Type name for ScrolledContainer. | |||
static const String WidgetTypeName; | static const String WidgetTypeName; | |||
//! Namespace for global events | //! Namespace for global events | |||
static const String EventNamespace; | static const String EventNamespace; | |||
//! Event fired whenever some child changes. | /** Event fired whenever some child changes. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ScrolledContainer for which a chi | ||||
ld | ||||
* window has changed. | ||||
*/ | ||||
static const String EventContentChanged; | static const String EventContentChanged; | |||
//! Event fired when the autosize setting changes. | /** Event fired when the autosize setting changes. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ScrolledContainer whose auto size | ||||
* setting has been changed. | ||||
*/ | ||||
static const String EventAutoSizeSettingChanged; | static const String EventAutoSizeSettingChanged; | |||
//! Constructor for ScrolledContainer objects. | //! Constructor for ScrolledContainer objects. | |||
ScrolledContainer(const String& type, const String& name); | ScrolledContainer(const String& type, const String& name); | |||
//! Destructor for ScrolledContainer objects. | //! Destructor for ScrolledContainer objects. | |||
~ScrolledContainer(void); | ~ScrolledContainer(void); | |||
/*! | /*! | |||
\brief | \brief | |||
skipping to change at line 186 | skipping to change at line 194 | |||
virtual void onAutoSizeSettingChanged(WindowEventArgs& e); | virtual void onAutoSizeSettingChanged(WindowEventArgs& e); | |||
//! handles notifications about child windows being moved. | //! handles notifications about child windows being moved. | |||
bool handleChildSized(const EventArgs& e); | bool handleChildSized(const EventArgs& e); | |||
//! handles notifications about child windows being sized. | //! handles notifications about child windows being sized. | |||
bool handleChildMoved(const EventArgs& e); | bool handleChildMoved(const EventArgs& e); | |||
// overridden from Window. | // overridden from Window. | |||
void drawSelf(const RenderingContext&) {}; | void drawSelf(const RenderingContext&) {}; | |||
Rect getInnerRectClipper_impl() const; | Rect getInnerRectClipper_impl() const; | |||
Rect getNonClientChildWindowContentArea_impl() const; | ||||
Rect getClientChildWindowContentArea_impl() const; | ||||
Rect getHitTestRect_impl() const; | Rect getHitTestRect_impl() const; | |||
void onChildAdded(WindowEventArgs& e); | void onChildAdded(WindowEventArgs& e); | |||
void onChildRemoved(WindowEventArgs& e); | void onChildRemoved(WindowEventArgs& e); | |||
void onParentSized(WindowEventArgs& e); | void onParentSized(WindowEventArgs& e); | |||
//! type definition for collection used to track event connections. | //! type definition for collection used to track event connections. | |||
typedef std::multimap<Window*, Event::Connection> ConnectionTracker; | typedef std::multimap<Window*, Event::Connection> ConnectionTracker; | |||
//! Tracks event connections we make. | //! Tracks event connections we make. | |||
ConnectionTracker d_eventConnections; | ConnectionTracker d_eventConnections; | |||
//! Holds extents of the content pane. | //! Holds extents of the content pane. | |||
End of changes. 3 change blocks. | ||||
2 lines changed or deleted | 14 lines changed or added | |||
CEGUIScrolledItemListBase.h | CEGUIScrolledItemListBase.h | |||
---|---|---|---|---|
skipping to change at line 59 | skipping to change at line 59 | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
/********************************************************************** ** | /********************************************************************** ** | |||
Constants | Constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String VertScrollbarNameSuffix; //!< Name suffix for verti cal scrollbar component | static const String VertScrollbarNameSuffix; //!< Name suffix for verti cal scrollbar component | |||
static const String HorzScrollbarNameSuffix; //!< Name suffix for horiz ontal scrollbar component | static const String HorzScrollbarNameSuffix; //!< Name suffix for horiz ontal scrollbar component | |||
static const String ContentPaneNameSuffix; //!< Name suffix for the c ontent pane component | static const String ContentPaneNameSuffix; //!< Name suffix for the c ontent pane component | |||
static const String EventVertScrollbarModeChanged; //!< Event fired whe | /** Event fired when the vertical scroll bar mode changes. | |||
n the vertical scroll bar mode changes. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventHorzScrollbarModeChanged; //!< Event fired whe | * WindowEventArgs::window set to the ScrolledItemListBase whose vertic | |||
n the horizontal scroll bar mode change. | al | |||
* scroll bar mode has been changed. | ||||
*/ | ||||
static const String EventVertScrollbarModeChanged; | ||||
/** Event fired when the horizontal scroll bar mode change. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the ScrolledItemListBase whose horizo | ||||
ntal | ||||
* scroll bar mode has been changed. | ||||
*/ | ||||
static const String EventHorzScrollbarModeChanged; | ||||
/********************************************************************** ** | /********************************************************************** ** | |||
Accessors | Accessors | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
/*! | /*! | |||
\brief | \brief | |||
Returns whether the vertical scrollbar is being forced visible. Des pite content size. | Returns whether the vertical scrollbar is being forced visible. Des pite content size. | |||
*/ | */ | |||
bool isVertScrollbarAlwaysShown(void) const {return d_forceVScroll;} | bool isVertScrollbarAlwaysShown(void) const {return d_forceVScroll;} | |||
End of changes. 1 change blocks. | ||||
4 lines changed or deleted | 14 lines changed or added | |||
CEGUISize.h | CEGUISize.h | |||
---|---|---|---|---|
skipping to change at line 48 | skipping to change at line 48 | |||
/*! | /*! | |||
\brief | \brief | |||
Class that holds the size (width & height) of something. | Class that holds the size (width & height) of something. | |||
*/ | */ | |||
class CEGUIEXPORT Size | class CEGUIEXPORT Size | |||
{ | { | |||
public: | public: | |||
Size(void) {} | Size(void) {} | |||
Size(float width, float height) : d_width(width), d_height(height) { } | Size(float width, float height) : d_width(width), d_height(height) { } | |||
Size(const Size& v): d_width(v.d_width), d_height(v.d_height) {} | ||||
bool operator==(const Size& other) const; | bool operator==(const Size& other) const; | |||
bool operator!=(const Size& other) const; | bool operator!=(const Size& other) const; | |||
float d_width, d_height; | float d_width, d_height; | |||
Size operator*(float c) const | ||||
{ | ||||
return Size(d_width * c, d_height * c); | ||||
} | ||||
Size operator+(const Size& s) const | ||||
{ | ||||
return Size(d_width + s.d_width, d_height + s.d_height); | ||||
} | ||||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUISize_h_ | #endif // end of guard _CEGUISize_h_ | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 11 lines changed or added | |||
CEGUISlider.h | CEGUISlider.h | |||
---|---|---|---|---|
skipping to change at line 106 | skipping to change at line 106 | |||
*/ | */ | |||
class CEGUIEXPORT Slider : public Window | class CEGUIEXPORT Slider : public Window | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
static const String EventValueChanged; //!< Event fired whe | /** Event fired when the slider value changes. | |||
n the slider value changes. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventThumbTrackStarted; //!< Name of the eve | * WindowEventArgs::window set to the Slider whose value has changed. | |||
nt fired when the user begins dragging the thumb. | */ | |||
static const String EventThumbTrackEnded; //!< Name of | static const String EventValueChanged; | |||
the event fired when the user releases the thumb. | /** Event fired when the user begins dragging the thumb. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Slider whose thumb has started to | ||||
* be dragged. | ||||
*/ | ||||
static const String EventThumbTrackStarted; | ||||
/** Event fired when the user releases the thumb. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Slider whose thumb has been relea | ||||
sed. | ||||
*/ | ||||
static const String EventThumbTrackEnded; | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String ThumbNameSuffix; //!< Widget name suffix for the thumb component. | static const String ThumbNameSuffix; //!< Widget name suffix for the thumb component. | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Accessors | Accessors | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
End of changes. 1 change blocks. | ||||
6 lines changed or deleted | 17 lines changed or added | |||
CEGUISpinner.h | CEGUISpinner.h | |||
---|---|---|---|---|
skipping to change at line 71 | skipping to change at line 71 | |||
Integer, //!< Integer decimal. | Integer, //!< Integer decimal. | |||
Hexadecimal, //!< Hexadecimal. | Hexadecimal, //!< Hexadecimal. | |||
Octal //!< Octal | Octal //!< Octal | |||
}; | }; | |||
/****************************************************************** ******* | /****************************************************************** ******* | |||
Events system constants | Events system constants | |||
******************************************************************* ******/ | ******************************************************************* ******/ | |||
static const String WidgetTypeName; //!< Window fac tory name | static const String WidgetTypeName; //!< Window fac tory name | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String EventValueChanged; //!< Event fire | /** Event fired when the spinner current value changes. | |||
d when the spinner value changes. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventStepChanged; //!< Event fire | * WindowEventArgs::window set to the Spinner whose current value h | |||
d when the step value changes. | as | |||
static const String EventMaximumValueChanged; //!< Event fire | * changed. | |||
d when the maximum spinner value changes. | */ | |||
static const String EventMinimumValueChanged; //!< Event fire | static const String EventValueChanged; | |||
d when the minimum spinner value changes. | /** Event fired when the spinner step value is changed. | |||
static const String EventTextInputModeChanged; //!< Event fire | * Handlers area passed a const WindowEventArgs reference with | |||
d when the input/display mode is changed. | * WindowEventArgs::window set to the Spinner whose step value has | |||
* changed. | ||||
*/ | ||||
static const String EventStepChanged; | ||||
/** Event fired when the maximum spinner value is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Spinner whose maximum value h | ||||
as | ||||
* been changed. | ||||
*/ | ||||
static const String EventMaximumValueChanged; | ||||
/** Event fired when the minimum spinner value is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::windows set to the Spinner whose minimum value | ||||
has | ||||
* been changed. | ||||
*/ | ||||
static const String EventMinimumValueChanged; | ||||
/** Event fired when the spinner text input & display mode is chang | ||||
ed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Spinner whose text mode has b | ||||
een | ||||
* changed. | ||||
*/ | ||||
static const String EventTextInputModeChanged; | ||||
/****************************************************************** ******* | /****************************************************************** ******* | |||
Component widget name suffix strings | Component widget name suffix strings | |||
******************************************************************* ******/ | ******************************************************************* ******/ | |||
static const String EditboxNameSuffix; //!< Widget name su ffix for the editbox thumb component. | static const String EditboxNameSuffix; //!< Widget name su ffix for the editbox thumb component. | |||
static const String IncreaseButtonNameSuffix; //!< Widget name su ffix for the increase button component. | static const String IncreaseButtonNameSuffix; //!< Widget name su ffix for the increase button component. | |||
static const String DecreaseButtonNameSuffix; //!< Widget name su ffix for the decrease button component. | static const String DecreaseButtonNameSuffix; //!< Widget name su ffix for the decrease button component. | |||
/****************************************************************** ******* | /****************************************************************** ******* | |||
Object Construction and Destruction | Object Construction and Destruction | |||
End of changes. 1 change blocks. | ||||
10 lines changed or deleted | 35 lines changed or added | |||
CEGUIString.h | CEGUIString.h | |||
---|---|---|---|---|
skipping to change at line 298 | skipping to change at line 298 | |||
iterator& operator+=(difference_type offset) | iterator& operator+=(difference_type offset) | |||
{ | { | |||
this->d_ptr += offset; | this->d_ptr += offset; | |||
return *this; | return *this; | |||
} | } | |||
iterator operator+(difference_type offset) const | iterator operator+(difference_type offset) const | |||
{ | { | |||
iterator temp = *this; | iterator temp = *this; | |||
return temp + offset; | return temp += offset; | |||
} | } | |||
iterator& operator-=(difference_type offset) | iterator& operator-=(difference_type offset) | |||
{ | { | |||
return *this += -offset; | return *this += -offset; | |||
} | } | |||
iterator operator-(difference_type offset) const | iterator operator-(difference_type offset) const | |||
{ | { | |||
iterator temp = *this; | iterator temp = *this; | |||
skipping to change at line 777 | skipping to change at line 777 | |||
\return | \return | |||
- 0 if the specified sub-strings are equal | - 0 if the specified sub-strings are equal | |||
- <0 if specified sub-strings are lexicographically smaller than \a str | - <0 if specified sub-strings are lexicographically smaller than \a str | |||
- >0 if specified sub-strings are lexicographically greater than \a str | - >0 if specified sub-strings are lexicographically greater than \a str | |||
\exception std::out_of_range Thrown if either \a idx or \a str_id x are invalid. | \exception std::out_of_range Thrown if either \a idx or \a str_id x are invalid. | |||
*/ | */ | |||
int compare(size_type idx, size_type len, const String& str, size_type str_idx = 0, size_type str_len = npos) const | int compare(size_type idx, size_type len, const String& str, size_type str_idx = 0, size_type str_len = npos) const | |||
{ | { | |||
if ((d_cplength < idx) || (str.d_cplength < str_idx)) | if ((d_cplength < idx) || (str.d_cplength < str_idx)) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if ((len == npos) || (idx + len > d_cplength)) | if ((len == npos) || (idx + len > d_cplength)) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
if ((str_len == npos) || (str_idx + str_len > str.d_cplength )) | if ((str_len == npos) || (str_idx + str_len > str.d_cplength )) | |||
str_len = str.d_cplength - str_idx; | str_len = str.d_cplength - str_idx; | |||
int val = (len == 0) ? 0 : utf32_comp_utf32(&ptr()[idx], &st r.ptr()[str_idx], (len < str_len) ? len : str_len); | int val = (len == 0) ? 0 : utf32_comp_utf32(&ptr()[idx], &st r.ptr()[str_idx], (len < str_len) ? len : str_len); | |||
return (val != 0) ? ((val < 0) ? -1 : 1) : (len < str_len) ? -1 : (len == str_len) ? 0 : 1; | return (val != 0) ? ((val < 0) ? -1 : 1) : (len < str_len) ? -1 : (len == str_len) ? 0 : 1; | |||
skipping to change at line 850 | skipping to change at line 850 | |||
\return | \return | |||
- 0 if the specified sub-strings are equal | - 0 if the specified sub-strings are equal | |||
- <0 if specified sub-strings are lexicographically smaller than \a std_str | - <0 if specified sub-strings are lexicographically smaller than \a std_str | |||
- >0 if specified sub-strings are lexicographically greater than \a std_str | - >0 if specified sub-strings are lexicographically greater than \a std_str | |||
\exception std::out_of_range Thrown if either \a idx or \a str_id x are invalid. | \exception std::out_of_range Thrown if either \a idx or \a str_id x are invalid. | |||
*/ | */ | |||
int compare(size_type idx, size_type len, const std::str ing& std_str, size_type str_idx = 0, size_type str_len = npos) const | int compare(size_type idx, size_type len, const std::str ing& std_str, size_type str_idx = 0, size_type str_len = npos) const | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (std_str.size() < str_idx) | if (std_str.size() < str_idx) | |||
throw std::out_of_range("Index is out of range for s td::string"); | CEGUI_THROW(std::out_of_range("Index is out of range for std::string")); | |||
if ((len == npos) || (idx + len > d_cplength)) | if ((len == npos) || (idx + len > d_cplength)) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
if ((str_len == npos) || (str_idx + str_len > std_str.size() )) | if ((str_len == npos) || (str_idx + str_len > std_str.size() )) | |||
str_len = (size_type)std_str.size() - str_idx; | str_len = (size_type)std_str.size() - str_idx; | |||
int val = (len == 0) ? 0 : utf32_comp_char(&ptr()[idx], &std _str.c_str()[str_idx], (len < str_len) ? len : str_len); | int val = (len == 0) ? 0 : utf32_comp_char(&ptr()[idx], &std _str.c_str()[str_idx], (len < str_len) ? len : str_len); | |||
return (val != 0) ? ((val < 0) ? -1 : 1) : (len < str_len) ? -1 : (len == str_len) ? 0 : 1; | return (val != 0) ? ((val < 0) ? -1 : 1) : (len < str_len) ? -1 : (len == str_len) ? 0 : 1; | |||
skipping to change at line 962 | skipping to change at line 962 | |||
- 0 if the specified sub-strings are equal | - 0 if the specified sub-strings are equal | |||
- <0 if specified sub-strings are lexicographically smaller than \a utf8_str | - <0 if specified sub-strings are lexicographically smaller than \a utf8_str | |||
- >0 if specified sub-strings are lexicographically greater than \a utf8_str | - >0 if specified sub-strings are lexicographically greater than \a utf8_str | |||
\exception std::out_of_range Thrown if \a idx is invalid. | \exception std::out_of_range Thrown if \a idx is invalid. | |||
\exception std::length_error Thrown if \a str_cplen is set to npo s. | \exception std::length_error Thrown if \a str_cplen is set to npo s. | |||
*/ | */ | |||
int compare(size_type idx, size_type len, const utf8* ut f8_str, size_type str_cplen) const | int compare(size_type idx, size_type len, const utf8* ut f8_str, size_type str_cplen) const | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (str_cplen == npos) | if (str_cplen == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
if ((len == npos) || (idx + len > d_cplength)) | if ((len == npos) || (idx + len > d_cplength)) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
int val = (len == 0) ? 0 : utf32_comp_utf8(&ptr()[idx], utf8 _str, (len < str_cplen) ? len : str_cplen); | int val = (len == 0) ? 0 : utf32_comp_utf8(&ptr()[idx], utf8 _str, (len < str_cplen) ? len : str_cplen); | |||
return (val != 0) ? ((val < 0) ? -1 : 1) : (len < str_cplen) ? -1 : (len == str_cplen) ? 0 : 1; | return (val != 0) ? ((val < 0) ? -1 : 1) : (len < str_cplen) ? -1 : (len == str_cplen) ? 0 : 1; | |||
} | } | |||
/*! | /*! | |||
skipping to change at line 1053 | skipping to change at line 1053 | |||
- 0 if the specified sub-strings are equal | - 0 if the specified sub-strings are equal | |||
- <0 if specified sub-strings are lexicographically smaller than \a chars | - <0 if specified sub-strings are lexicographically smaller than \a chars | |||
- >0 if specified sub-strings are lexicographically greater than \a chars | - >0 if specified sub-strings are lexicographically greater than \a chars | |||
\exception std::out_of_range Thrown if \a idx is invalid. | \exception std::out_of_range Thrown if \a idx is invalid. | |||
\exception std::length_error Thrown if \a chars_len is set to npo s. | \exception std::length_error Thrown if \a chars_len is set to npo s. | |||
*/ | */ | |||
int compare(size_type idx, size_type len, const char* ch ars, size_type chars_len) const | int compare(size_type idx, size_type len, const char* ch ars, size_type chars_len) const | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length for char array can n ot be 'npos'"); | CEGUI_THROW(std::length_error("Length for char array can not be 'npos'")); | |||
if ((len == npos) || (idx + len > d_cplength)) | if ((len == npos) || (idx + len > d_cplength)) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
int val = (len == 0) ? 0 : utf32_comp_char(&ptr()[idx], char s, (len < chars_len) ? len : chars_len); | int val = (len == 0) ? 0 : utf32_comp_char(&ptr()[idx], char s, (len < chars_len) ? len : chars_len); | |||
return (val != 0) ? ((val < 0) ? -1 : 1) : (len < chars_len) ? -1 : (len == chars_len) ? 0 : 1; | return (val != 0) ? ((val < 0) ? -1 : 1) : (len < chars_len) ? -1 : (len == chars_len) ? 0 : 1; | |||
} | } | |||
//////////////////////////////////////////////////////////////////// ////// | //////////////////////////////////////////////////////////////////// ////// | |||
skipping to change at line 1122 | skipping to change at line 1122 | |||
Zero based index of the code point to be returned. | Zero based index of the code point to be returned. | |||
\return | \return | |||
The utf32 code point at the given index within the String. | The utf32 code point at the given index within the String. | |||
\exception std::out_of_range Thrown if \a idx is >= length(). | \exception std::out_of_range Thrown if \a idx is >= length(). | |||
*/ | */ | |||
reference at(size_type idx) | reference at(size_type idx) | |||
{ | { | |||
if (d_cplength <= idx) | if (d_cplength <= idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
return ptr()[idx]; | return ptr()[idx]; | |||
} | } | |||
/*! | /*! | |||
\brief | \brief | |||
Returns the code point at the given index. | Returns the code point at the given index. | |||
\param idx | \param idx | |||
Zero based index of the code point to be returned. | Zero based index of the code point to be returned. | |||
\return | \return | |||
The utf32 code point at the given index within the String. | The utf32 code point at the given index within the String. | |||
\exception std::out_of_range Thrown if \a idx is >= length(). | \exception std::out_of_range Thrown if \a idx is >= length(). | |||
*/ | */ | |||
const_reference at(size_type idx) const | const_reference at(size_type idx) const | |||
{ | { | |||
if (d_cplength <= idx) | if (d_cplength <= idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
return ptr()[idx]; | return ptr()[idx]; | |||
} | } | |||
//////////////////////////////////////////////////////////////////// ////// | //////////////////////////////////////////////////////////////////// ////// | |||
// C-Strings and arrays | // C-Strings and arrays | |||
//////////////////////////////////////////////////////////////////// ////// | //////////////////////////////////////////////////////////////////// ////// | |||
/*! | /*! | |||
\brief | \brief | |||
Returns contents of the String as a null terminated string o f utf8 encoded data. | Returns contents of the String as a null terminated string o f utf8 encoded data. | |||
skipping to change at line 1229 | skipping to change at line 1229 | |||
\return | \return | |||
The number of utf8 encoded code units transferred to the buf fer. | The number of utf8 encoded code units transferred to the buf fer. | |||
\note A code unit does not equal a code point. A utf32 code point, when encoded as utf8, can occupy between 1 and 4 code units. | \note A code unit does not equal a code point. A utf32 code point, when encoded as utf8, can occupy between 1 and 4 code units. | |||
\exception std::out_of_range Thrown if \a idx was invalid for thi s String. | \exception std::out_of_range Thrown if \a idx was invalid for thi s String. | |||
*/ | */ | |||
size_type copy(utf8* buf, size_type len = npos, size_type idx = 0) const | size_type copy(utf8* buf, size_type len = npos, size_type idx = 0) const | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (len == npos) | if (len == npos) | |||
len = d_cplength; | len = d_cplength; | |||
return encode(&ptr()[idx], buf, npos, len); | return encode(&ptr()[idx], buf, npos, len); | |||
} | } | |||
//////////////////////////////////////////////////////////////////// ////// | //////////////////////////////////////////////////////////////////// ////// | |||
// UTF8 Encoding length information | // UTF8 Encoding length information | |||
//////////////////////////////////////////////////////////////////// ////// | //////////////////////////////////////////////////////////////////// ////// | |||
skipping to change at line 1261 | skipping to change at line 1261 | |||
\return | \return | |||
The number of utf8 code units (bytes) required to hold the s pecified sub-string when encoded as utf8 data. | The number of utf8 code units (bytes) required to hold the s pecified sub-string when encoded as utf8 data. | |||
\exception std::out_of_range Thrown if \a idx was invalid for thi s String. | \exception std::out_of_range Thrown if \a idx was invalid for thi s String. | |||
*/ | */ | |||
size_type utf8_stream_len(size_type num = npos, size_type idx = 0) const | size_type utf8_stream_len(size_type num = npos, size_type idx = 0) const | |||
{ | { | |||
using namespace std; | using namespace std; | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw out_of_range("Index was out of range for CEGUI ::String object"); | CEGUI_THROW(out_of_range("Index was out of range for CEGUI::String object")); | |||
size_type maxlen = d_cplength - idx; | size_type maxlen = d_cplength - idx; | |||
return encoded_size(&ptr()[idx], ceguimin(num, maxlen)); | return encoded_size(&ptr()[idx], ceguimin(num, maxlen)); | |||
} | } | |||
//////////////////////////////////////////////////////////////////// ////// | //////////////////////////////////////////////////////////////////// ////// | |||
// Assignment Functions | // Assignment Functions | |||
//////////////////////////////////////////////////////////////////// ////// | //////////////////////////////////////////////////////////////////// ////// | |||
/*! | /*! | |||
skipping to change at line 1307 | skipping to change at line 1307 | |||
Maximum number of code points from \a str that are be be ass igned | Maximum number of code points from \a str that are be be ass igned | |||
\return | \return | |||
This String after the assignment has happened | This String after the assignment has happened | |||
\exception std::out_of_range Thrown if str_idx is invalid for \a str | \exception std::out_of_range Thrown if str_idx is invalid for \a str | |||
*/ | */ | |||
String& assign(const String& str, size_type str_idx = 0, size_type s tr_num = npos) | String& assign(const String& str, size_type str_idx = 0, size_type s tr_num = npos) | |||
{ | { | |||
if (str.d_cplength < str_idx) | if (str.d_cplength < str_idx) | |||
throw std::out_of_range("Index was out of range for CEGUI::String object"); | CEGUI_THROW(std::out_of_range("Index was out of rang e for CEGUI::String object")); | |||
if ((str_num == npos) || (str_num > str.d_cplength - str_idx )) | if ((str_num == npos) || (str_num > str.d_cplength - str_idx )) | |||
str_num = str.d_cplength - str_idx; | str_num = str.d_cplength - str_idx; | |||
grow(str_num); | grow(str_num); | |||
setlen(str_num); | setlen(str_num); | |||
memcpy(ptr(), &str.ptr()[str_idx], str_num * sizeof(utf32)); | memcpy(ptr(), &str.ptr()[str_idx], str_num * sizeof(utf32)); | |||
return *this; | return *this; | |||
} | } | |||
skipping to change at line 1366 | skipping to change at line 1366 | |||
\return | \return | |||
This String after the assignment has happened | This String after the assignment has happened | |||
\exception std::out_of_range Thrown if \a str_idx is invalid for \a std_str | \exception std::out_of_range Thrown if \a str_idx is invalid for \a std_str | |||
\exception std::length_error Thrown if the resulting String would have been too large. | \exception std::length_error Thrown if the resulting String would have been too large. | |||
*/ | */ | |||
String& assign(const std::string& std_str, size_type str_idx = 0, si ze_type str_num = npos) | String& assign(const std::string& std_str, size_type str_idx = 0, si ze_type str_num = npos) | |||
{ | { | |||
if (std_str.size() < str_idx) | if (std_str.size() < str_idx) | |||
throw std::out_of_range("Index was out of range for std::string object"); | CEGUI_THROW(std::out_of_range("Index was out of rang e for std::string object")); | |||
if ((str_num == npos) || (str_num > (size_type)std_str.size( ) - str_idx)) | if ((str_num == npos) || (str_num > (size_type)std_str.size( ) - str_idx)) | |||
str_num = (size_type)std_str.size() - str_idx; | str_num = (size_type)std_str.size() - str_idx; | |||
grow(str_num); | grow(str_num); | |||
setlen(str_num); | setlen(str_num); | |||
while(str_num--) | while(str_num--) | |||
{ | { | |||
((*this)[str_num]) = static_cast<utf32>(static_cast< unsigned char>(std_str[str_num + str_idx])); | ((*this)[str_num]) = static_cast<utf32>(static_cast< unsigned char>(std_str[str_num + str_idx])); | |||
skipping to change at line 1452 | skipping to change at line 1452 | |||
Number of code units (not code points) in the buffer pointed to by \a utf8_str | Number of code units (not code points) in the buffer pointed to by \a utf8_str | |||
\return | \return | |||
This String after the assignment has happened | This String after the assignment has happened | |||
\exception std::length_error Thrown if the resulting String would have been too large, or if str_num is 'npos'. | \exception std::length_error Thrown if the resulting String would have been too large, or if str_num is 'npos'. | |||
*/ | */ | |||
String& assign(const utf8* utf8_str, size_type str_num) | String& assign(const utf8* utf8_str, size_type str_num) | |||
{ | { | |||
if (str_num == npos) | if (str_num == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
size_type enc_sze = encoded_size(utf8_str, str_num); | size_type enc_sze = encoded_size(utf8_str, str_num); | |||
grow(enc_sze); | grow(enc_sze); | |||
encode(utf8_str, ptr(), d_reserve, str_num); | encode(utf8_str, ptr(), d_reserve, str_num); | |||
setlen(enc_sze); | setlen(enc_sze); | |||
return *this; | return *this; | |||
} | } | |||
/*! | /*! | |||
skipping to change at line 1495 | skipping to change at line 1495 | |||
Valid utf32 Unicode code point to be assigned to the string | Valid utf32 Unicode code point to be assigned to the string | |||
\return | \return | |||
This String after assignment. | This String after assignment. | |||
\exception std::length_error Thrown if \a num was 'npos' | \exception std::length_error Thrown if \a num was 'npos' | |||
*/ | */ | |||
String& assign(size_type num, utf32 code_point) | String& assign(size_type num, utf32 code_point) | |||
{ | { | |||
if (num == npos) | if (num == npos) | |||
throw std::length_error("Code point count can not be 'npos'"); | CEGUI_THROW(std::length_error("Code point count can not be 'npos'")); | |||
grow(num); | grow(num); | |||
setlen(num); | setlen(num); | |||
utf32* p = ptr(); | utf32* p = ptr(); | |||
while(num--) | while(num--) | |||
*p++ = code_point; | *p++ = code_point; | |||
return *this; | return *this; | |||
} | } | |||
skipping to change at line 1648 | skipping to change at line 1648 | |||
\return | \return | |||
This String after the append operation | This String after the append operation | |||
\exception std::out_of_range Thrown if \a str_idx is invalid for \a str. | \exception std::out_of_range Thrown if \a str_idx is invalid for \a str. | |||
\exception std::length_error Thrown if resulting String would be too large. | \exception std::length_error Thrown if resulting String would be too large. | |||
*/ | */ | |||
String& append(const String& str, size_type str_idx = 0, size_type s tr_num = npos) | String& append(const String& str, size_type str_idx = 0, size_type s tr_num = npos) | |||
{ | { | |||
if (str.d_cplength < str_idx) | if (str.d_cplength < str_idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if ((str_num == npos) || (str_num > str.d_cplength - str_idx )) | if ((str_num == npos) || (str_num > str.d_cplength - str_idx )) | |||
str_num = str.d_cplength - str_idx; | str_num = str.d_cplength - str_idx; | |||
grow(d_cplength + str_num); | grow(d_cplength + str_num); | |||
memcpy(&ptr()[d_cplength], &str.ptr()[str_idx], str_num * si zeof(utf32)); | memcpy(&ptr()[d_cplength], &str.ptr()[str_idx], str_num * si zeof(utf32)); | |||
setlen(d_cplength + str_num); | setlen(d_cplength + str_num); | |||
return *this; | return *this; | |||
} | } | |||
skipping to change at line 1706 | skipping to change at line 1706 | |||
\return | \return | |||
This String after the append operation | This String after the append operation | |||
\exception std::out_of_range Thrown if \a str_idx is invalid for \a std_str. | \exception std::out_of_range Thrown if \a str_idx is invalid for \a std_str. | |||
\exception std::length_error Thrown if resulting String would be too large. | \exception std::length_error Thrown if resulting String would be too large. | |||
*/ | */ | |||
String& append(const std::string& std_str, size_type str_idx = 0, si ze_type str_num = npos) | String& append(const std::string& std_str, size_type str_idx = 0, si ze_type str_num = npos) | |||
{ | { | |||
if (std_str.size() < str_idx) | if (std_str.size() < str_idx) | |||
throw std::out_of_range("Index is out of range for s td::string"); | CEGUI_THROW(std::out_of_range("Index is out of range for std::string")); | |||
if ((str_num == npos) || (str_num > (size_type)std_str.size( ) - str_idx)) | if ((str_num == npos) || (str_num > (size_type)std_str.size( ) - str_idx)) | |||
str_num = (size_type)std_str.size() - str_idx; | str_num = (size_type)std_str.size() - str_idx; | |||
size_type newsze = d_cplength + str_num; | size_type newsze = d_cplength + str_num; | |||
grow(newsze); | grow(newsze); | |||
utf32* pt = &ptr()[newsze-1]; | utf32* pt = &ptr()[newsze-1]; | |||
while(str_num--) | while(str_num--) | |||
skipping to change at line 1793 | skipping to change at line 1793 | |||
Number of code units (not code points) in the buffer to be a ppended | Number of code units (not code points) in the buffer to be a ppended | |||
\return | \return | |||
This String after the append operation | This String after the append operation | |||
\exception std::length_error Thrown if resulting String would be too large, or if \a len was 'npos' | \exception std::length_error Thrown if resulting String would be too large, or if \a len was 'npos' | |||
*/ | */ | |||
String& append(const utf8* utf8_str, size_type len) | String& append(const utf8* utf8_str, size_type len) | |||
{ | { | |||
if (len == npos) | if (len == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
size_type encsz = encoded_size(utf8_str, len); | size_type encsz = encoded_size(utf8_str, len); | |||
size_type newsz = d_cplength + encsz; | size_type newsz = d_cplength + encsz; | |||
grow(newsz); | grow(newsz); | |||
encode(utf8_str, &ptr()[d_cplength], encsz, len); | encode(utf8_str, &ptr()[d_cplength], encsz, len); | |||
setlen(newsz); | setlen(newsz); | |||
return *this; | return *this; | |||
} | } | |||
skipping to change at line 1840 | skipping to change at line 1840 | |||
utf32 Unicode code point that is to be appended | utf32 Unicode code point that is to be appended | |||
\return | \return | |||
This String after the append operation | This String after the append operation | |||
\exception std::length_error Thrown if resulting String would be too long, or if \a num was 'npos'. | \exception std::length_error Thrown if resulting String would be too long, or if \a num was 'npos'. | |||
*/ | */ | |||
String& append(size_type num, utf32 code_point) | String& append(size_type num, utf32 code_point) | |||
{ | { | |||
if (num == npos) | if (num == npos) | |||
throw std::length_error("Code point count can not be 'npos'"); | CEGUI_THROW(std::length_error("Code point count can not be 'npos'")); | |||
size_type newsz = d_cplength + num; | size_type newsz = d_cplength + num; | |||
grow(newsz); | grow(newsz); | |||
utf32* p = &ptr()[d_cplength]; | utf32* p = &ptr()[d_cplength]; | |||
while(num--) | while(num--) | |||
*p++ = code_point; | *p++ = code_point; | |||
setlen(newsz); | setlen(newsz); | |||
skipping to change at line 1944 | skipping to change at line 1944 | |||
Number of chars to be appended | Number of chars to be appended | |||
\return | \return | |||
This String after the append operation | This String after the append operation | |||
\exception std::length_error Thrown if resulting String would be too large, or if \a chars_len was 'npos' | \exception std::length_error Thrown if resulting String would be too large, or if \a chars_len was 'npos' | |||
*/ | */ | |||
String& append(const char* chars, size_type chars_len) | String& append(const char* chars, size_type chars_len) | |||
{ | { | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length for char array can n ot be 'npos'"); | CEGUI_THROW(std::length_error("Length for char array can not be 'npos'")); | |||
size_type newsz = d_cplength + chars_len; | size_type newsz = d_cplength + chars_len; | |||
grow(newsz); | grow(newsz); | |||
utf32* pt = &ptr()[newsz-1]; | utf32* pt = &ptr()[newsz-1]; | |||
while(chars_len--) | while(chars_len--) | |||
*pt-- = static_cast<utf32>(static_cast<unsigned char >(chars[chars_len])); | *pt-- = static_cast<utf32>(static_cast<unsigned char >(chars[chars_len])); | |||
skipping to change at line 2009 | skipping to change at line 2009 | |||
\return | \return | |||
This String after the insert. | This String after the insert. | |||
\exception std::out_of_range Thrown if \a idx or \a str_idx are o ut of range. | \exception std::out_of_range Thrown if \a idx or \a str_idx are o ut of range. | |||
\exception std::length_error Thrown if resulting String would be too large. | \exception std::length_error Thrown if resulting String would be too large. | |||
*/ | */ | |||
String& insert(size_type idx, const String& str, size_type str_idx, size_type str_num) | String& insert(size_type idx, const String& str, size_type str_idx, size_type str_num) | |||
{ | { | |||
if ((d_cplength < idx) || (str.d_cplength < str_idx)) | if ((d_cplength < idx) || (str.d_cplength < str_idx)) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if ((str_num == npos) || (str_num > str.d_cplength - str_idx )) | if ((str_num == npos) || (str_num > str.d_cplength - str_idx )) | |||
str_num = str.d_cplength - str_idx; | str_num = str.d_cplength - str_idx; | |||
size_type newsz = d_cplength + str_num; | size_type newsz = d_cplength + str_num; | |||
grow(newsz); | grow(newsz); | |||
memmove(&ptr()[idx + str_num], &ptr()[idx], (d_cplength - id x) * sizeof(utf32)); | memmove(&ptr()[idx + str_num], &ptr()[idx], (d_cplength - id x) * sizeof(utf32)); | |||
memcpy(&ptr()[idx], &str.ptr()[str_idx], str_num * sizeof(ut f32)); | memcpy(&ptr()[idx], &str.ptr()[str_idx], str_num * sizeof(ut f32)); | |||
setlen(newsz); | setlen(newsz); | |||
skipping to change at line 2077 | skipping to change at line 2077 | |||
\return | \return | |||
This String after the insert. | This String after the insert. | |||
\exception std::out_of_range Thrown if \a idx or \a str_idx are o ut of range. | \exception std::out_of_range Thrown if \a idx or \a str_idx are o ut of range. | |||
\exception std::length_error Thrown if resulting String would be too large. | \exception std::length_error Thrown if resulting String would be too large. | |||
*/ | */ | |||
String& insert(size_type idx, const std::string& std_str, size_type str_idx, size_type str_num) | String& insert(size_type idx, const std::string& std_str, size_type str_idx, size_type str_num) | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (std_str.size() < str_idx) | if (std_str.size() < str_idx) | |||
throw std::out_of_range("Index is out of range for s td::string"); | CEGUI_THROW(std::out_of_range("Index is out of range for std::string")); | |||
if ((str_num == npos) || (str_num > (size_type)std_str.size( ) - str_idx)) | if ((str_num == npos) || (str_num > (size_type)std_str.size( ) - str_idx)) | |||
str_num = (size_type)std_str.size() - str_idx; | str_num = (size_type)std_str.size() - str_idx; | |||
size_type newsz = d_cplength + str_num; | size_type newsz = d_cplength + str_num; | |||
grow(newsz); | grow(newsz); | |||
memmove(&ptr()[idx + str_num], &ptr()[idx], (d_cplength - id x) * sizeof(utf32)); | memmove(&ptr()[idx + str_num], &ptr()[idx], (d_cplength - id x) * sizeof(utf32)); | |||
utf32* pt = &ptr()[idx + str_num - 1]; | utf32* pt = &ptr()[idx + str_num - 1]; | |||
skipping to change at line 2155 | skipping to change at line 2155 | |||
\return | \return | |||
This String after the insert. | This String after the insert. | |||
\exception std::out_of_range Thrown if \a idx is invalid for this String. | \exception std::out_of_range Thrown if \a idx is invalid for this String. | |||
\exception std::length_error Thrown if resulting String would be too large, or if \a len is 'npos' | \exception std::length_error Thrown if resulting String would be too large, or if \a len is 'npos' | |||
*/ | */ | |||
String& insert(size_type idx, const utf8* utf8_str, size_type len) | String& insert(size_type idx, const utf8* utf8_str, size_type len) | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (len == npos) | if (len == npos) | |||
throw std::length_error("Length of utf8 encoded stri ng can not be 'npos'"); | CEGUI_THROW(std::length_error("Length of utf8 encode d string can not be 'npos'")); | |||
size_type encsz = encoded_size(utf8_str, len); | size_type encsz = encoded_size(utf8_str, len); | |||
size_type newsz = d_cplength + encsz; | size_type newsz = d_cplength + encsz; | |||
grow(newsz); | grow(newsz); | |||
memmove(&ptr()[idx + encsz], &ptr()[idx], (d_cplength - idx) * sizeof(utf32)); | memmove(&ptr()[idx + encsz], &ptr()[idx], (d_cplength - idx) * sizeof(utf32)); | |||
encode(utf8_str, &ptr()[idx], encsz, len); | encode(utf8_str, &ptr()[idx], encsz, len); | |||
setlen(newsz); | setlen(newsz); | |||
return *this; | return *this; | |||
skipping to change at line 2193 | skipping to change at line 2193 | |||
\return | \return | |||
This String after the insertion. | This String after the insertion. | |||
\exception std::out_of_range Thrown if \a idx is invalid for this String. | \exception std::out_of_range Thrown if \a idx is invalid for this String. | |||
\exception std::length_error Thrown if resulting String would be too large, or if \a num is 'npos' | \exception std::length_error Thrown if resulting String would be too large, or if \a num is 'npos' | |||
*/ | */ | |||
String& insert(size_type idx, size_type num, utf32 code_point) | String& insert(size_type idx, size_type num, utf32 code_point) | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (num == npos) | if (num == npos) | |||
throw std::length_error("Code point count can not be 'npos'"); | CEGUI_THROW(std::length_error("Code point count can not be 'npos'")); | |||
size_type newsz = d_cplength + num; | size_type newsz = d_cplength + num; | |||
grow(newsz); | grow(newsz); | |||
memmove(&ptr()[idx + num], &ptr()[idx], (d_cplength - idx) * sizeof(utf32)); | memmove(&ptr()[idx + num], &ptr()[idx], (d_cplength - idx) * sizeof(utf32)); | |||
utf32* pt = &ptr()[idx + num - 1]; | utf32* pt = &ptr()[idx + num - 1]; | |||
while(num--) | while(num--) | |||
*pt-- = code_point; | *pt-- = code_point; | |||
skipping to change at line 2323 | skipping to change at line 2323 | |||
\return | \return | |||
This String after the insert. | This String after the insert. | |||
\exception std::out_of_range Thrown if \a idx is invalid for this String. | \exception std::out_of_range Thrown if \a idx is invalid for this String. | |||
\exception std::length_error Thrown if resulting String would be too large, or if \a chars_len is 'npos' | \exception std::length_error Thrown if resulting String would be too large, or if \a chars_len is 'npos' | |||
*/ | */ | |||
String& insert(size_type idx, const char* chars, size_type chars_len ) | String& insert(size_type idx, const char* chars, size_type chars_len ) | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length of char array can no t be 'npos'"); | CEGUI_THROW(std::length_error("Length of char array can not be 'npos'")); | |||
size_type newsz = d_cplength + chars_len; | size_type newsz = d_cplength + chars_len; | |||
grow(newsz); | grow(newsz); | |||
memmove(&ptr()[idx + chars_len], &ptr()[idx], (d_cplength - idx) * sizeof(utf32)); | memmove(&ptr()[idx + chars_len], &ptr()[idx], (d_cplength - idx) * sizeof(utf32)); | |||
utf32* pt = &ptr()[idx + chars_len - 1]; | utf32* pt = &ptr()[idx + chars_len - 1]; | |||
while(chars_len--) | while(chars_len--) | |||
*pt-- = static_cast<utf32>(static_cast<unsigned char >(chars[chars_len])); | *pt-- = static_cast<utf32>(static_cast<unsigned char >(chars[chars_len])); | |||
skipping to change at line 2406 | skipping to change at line 2406 | |||
\param len | \param len | |||
Maximum number of code points to be removed. | Maximum number of code points to be removed. | |||
\return | \return | |||
This String after the erase operation. | This String after the erase operation. | |||
\exception std::out_of_range Thrown if \a idx is invalid for this String. | \exception std::out_of_range Thrown if \a idx is invalid for this String. | |||
*/ | */ | |||
String& erase(size_type idx, size_type len = npos) | String& erase(size_type idx, size_type len = npos) | |||
{ | { | |||
if (d_cplength < idx) | // cover the no-op case. | |||
throw std::out_of_range("Index is out of range foe C | if (len == 0) | |||
EGUI::String"); | return *this; | |||
if (d_cplength <= idx) | ||||
CEGUI_THROW(std::out_of_range("Index is out of range | ||||
for CEGUI::String")); | ||||
if (len == npos) | if (len == npos) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
size_type newsz = d_cplength - len; | size_type newsz = d_cplength - len; | |||
memmove(&ptr()[idx], &ptr()[idx + len], (d_cplength - idx - len) * sizeof(utf32)); | memmove(&ptr()[idx], &ptr()[idx + len], (d_cplength - idx - len) * sizeof(utf32)); | |||
setlen(newsz); | setlen(newsz); | |||
return *this; | return *this; | |||
} | } | |||
skipping to change at line 2581 | skipping to change at line 2585 | |||
\return | \return | |||
This String after the replace operation | This String after the replace operation | |||
\exception std::out_of_range Thrown if either \a idx, or \a str_i dx are invalid | \exception std::out_of_range Thrown if either \a idx, or \a str_i dx are invalid | |||
\exception std::length_error Thrown if the resulting String would have been too large. | \exception std::length_error Thrown if the resulting String would have been too large. | |||
*/ | */ | |||
String& replace(size_type idx, size_type len, const String& str, siz e_type str_idx, size_type str_num) | String& replace(size_type idx, size_type len, const String& str, siz e_type str_idx, size_type str_num) | |||
{ | { | |||
if ((d_cplength < idx) || (str.d_cplength < str_idx)) | if ((d_cplength < idx) || (str.d_cplength < str_idx)) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (((str_idx + str_num) > str.d_cplength) || (str_num == np os)) | if (((str_idx + str_num) > str.d_cplength) || (str_num == np os)) | |||
str_num = str.d_cplength - str_idx; | str_num = str.d_cplength - str_idx; | |||
if (((len + idx) > d_cplength) || (len == npos)) | if (((len + idx) > d_cplength) || (len == npos)) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
size_type newsz = d_cplength + str_num - len; | size_type newsz = d_cplength + str_num - len; | |||
grow(newsz); | grow(newsz); | |||
skipping to change at line 2692 | skipping to change at line 2696 | |||
\return | \return | |||
This String after the replace operation | This String after the replace operation | |||
\exception std::out_of_range Thrown if either \a idx, or \a str_i dx are invalid | \exception std::out_of_range Thrown if either \a idx, or \a str_i dx are invalid | |||
\exception std::length_error Thrown if the resulting String would have been too large. | \exception std::length_error Thrown if the resulting String would have been too large. | |||
*/ | */ | |||
String& replace(size_type idx, size_type len, const std::string& std _str, size_type str_idx, size_type str_num) | String& replace(size_type idx, size_type len, const std::string& std _str, size_type str_idx, size_type str_num) | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (std_str.size() < str_idx) | if (std_str.size() < str_idx) | |||
throw std::out_of_range("Index is out of range for s td::string"); | CEGUI_THROW(std::out_of_range("Index is out of range for std::string")); | |||
if (((str_idx + str_num) > std_str.size()) || (str_num == np os)) | if (((str_idx + str_num) > std_str.size()) || (str_num == np os)) | |||
str_num = (size_type)std_str.size() - str_idx; | str_num = (size_type)std_str.size() - str_idx; | |||
if (((len + idx) > d_cplength) || (len == npos)) | if (((len + idx) > d_cplength) || (len == npos)) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
size_type newsz = d_cplength + str_num - len; | size_type newsz = d_cplength + str_num - len; | |||
grow(newsz); | grow(newsz); | |||
skipping to change at line 2813 | skipping to change at line 2817 | |||
\return | \return | |||
This String after the replace operation | This String after the replace operation | |||
\exception std::out_of_range Thrown if \a idx is invalid for this String | \exception std::out_of_range Thrown if \a idx is invalid for this String | |||
\exception std::length_error Thrown if the resulting String would be too large, or if \a str_len was 'npos'. | \exception std::length_error Thrown if the resulting String would be too large, or if \a str_len was 'npos'. | |||
*/ | */ | |||
String& replace(size_type idx, size_type len, const utf8* utf8_str, size_type str_len) | String& replace(size_type idx, size_type len, const utf8* utf8_str, size_type str_len) | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (str_len == npos) | if (str_len == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
if (((len + idx) > d_cplength) || (len == npos)) | if (((len + idx) > d_cplength) || (len == npos)) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
size_type encsz = encoded_size(utf8_str, str_len); | size_type encsz = encoded_size(utf8_str, str_len); | |||
size_type newsz = d_cplength + encsz - len; | size_type newsz = d_cplength + encsz - len; | |||
grow(newsz); | grow(newsz); | |||
if ((idx + len) < d_cplength) | if ((idx + len) < d_cplength) | |||
skipping to change at line 2895 | skipping to change at line 2899 | |||
\return | \return | |||
This String after the replace operation. | This String after the replace operation. | |||
\exception std::out_of_range Thrown if \a idx is invalid for this String | \exception std::out_of_range Thrown if \a idx is invalid for this String | |||
\exception std::length_error Thrown if resulting String would hav e been too long, or if \a num was 'npos'. | \exception std::length_error Thrown if resulting String would hav e been too long, or if \a num was 'npos'. | |||
*/ | */ | |||
String& replace(size_type idx, size_type len, size_type num, utf32 c ode_point) | String& replace(size_type idx, size_type len, size_type num, utf32 c ode_point) | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (num == npos) | if (num == npos) | |||
throw std::length_error("Code point count can not be 'npos'"); | CEGUI_THROW(std::length_error("Code point count can not be 'npos'")); | |||
if (((len + idx) > d_cplength) || (len == npos)) | if (((len + idx) > d_cplength) || (len == npos)) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
size_type newsz = d_cplength + num - len; | size_type newsz = d_cplength + num - len; | |||
grow(newsz); | grow(newsz); | |||
if ((idx + len) < d_cplength) | if ((idx + len) < d_cplength) | |||
memmove(&ptr()[idx + num], &ptr()[len + idx], (d_cpl ength - idx - len) * sizeof(utf32)); | memmove(&ptr()[idx + num], &ptr()[len + idx], (d_cpl ength - idx - len) * sizeof(utf32)); | |||
skipping to change at line 2975 | skipping to change at line 2979 | |||
\param newEnd | \param newEnd | |||
Iterator describing the (exclusive) end of the range to inse rt. | Iterator describing the (exclusive) end of the range to inse rt. | |||
\return | \return | |||
This String after the insert operation. | This String after the insert operation. | |||
\exception std::length_error Thrown if the resulting string would be too long. | \exception std::length_error Thrown if the resulting string would be too long. | |||
*/ | */ | |||
String& replace(iterator iter_beg, iterator iter_end, const_iterator iter_newBeg, const_iterator iter_newEnd) | String& replace(iterator iter_beg, iterator iter_end, const_iterator iter_newBeg, const_iterator iter_newEnd) | |||
{ | { | |||
if (iter_beg == iter_end) | if (iter_newBeg == iter_newEnd) | |||
{ | { | |||
erase(safe_iter_dif(iter_beg, begin()), safe_iter_di f(iter_end, iter_beg)); | erase(safe_iter_dif(iter_beg, begin()), safe_iter_di f(iter_end, iter_beg)); | |||
} | } | |||
else | else | |||
{ | { | |||
size_type str_len = safe_iter_dif(iter_newEnd, iter_ newBeg); | size_type str_len = safe_iter_dif(iter_newEnd, iter_ newBeg); | |||
size_type idx = safe_iter_dif(iter_beg, begin()); | size_type idx = safe_iter_dif(iter_beg, begin()); | |||
size_type len = safe_iter_dif(iter_end, iter_beg); | size_type len = safe_iter_dif(iter_end, iter_beg); | |||
if ((len + idx) > d_cplength) | if ((len + idx) > d_cplength) | |||
skipping to change at line 3077 | skipping to change at line 3081 | |||
\return | \return | |||
This String after the replace operation | This String after the replace operation | |||
\exception std::out_of_range Thrown if \a idx is invalid for this String | \exception std::out_of_range Thrown if \a idx is invalid for this String | |||
\exception std::length_error Thrown if the resulting String would be too large, or if \a chars_len was 'npos'. | \exception std::length_error Thrown if the resulting String would be too large, or if \a chars_len was 'npos'. | |||
*/ | */ | |||
String& replace(size_type idx, size_type len, const char* chars, siz e_type chars_len) | String& replace(size_type idx, size_type len, const char* chars, siz e_type chars_len) | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for C EGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for CEGUI::String")); | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length for the char array c an not be 'npos'"); | CEGUI_THROW(std::length_error("Length for the char a rray can not be 'npos'")); | |||
if (((len + idx) > d_cplength) || (len == npos)) | if (((len + idx) > d_cplength) || (len == npos)) | |||
len = d_cplength - idx; | len = d_cplength - idx; | |||
size_type newsz = d_cplength + chars_len - len; | size_type newsz = d_cplength + chars_len - len; | |||
grow(newsz); | grow(newsz); | |||
if ((idx + len) < d_cplength) | if ((idx + len) < d_cplength) | |||
memmove(&ptr()[idx + chars_len], &ptr()[len + idx], (d_cplength - idx - len) * sizeof(utf32)); | memmove(&ptr()[idx + chars_len], &ptr()[len + idx], (d_cplength - idx - len) * sizeof(utf32)); | |||
skipping to change at line 3440 | skipping to change at line 3444 | |||
\return | \return | |||
- Index of the first occurrence of sub-string \a utf8_str tr avelling forwards from \a idx. | - Index of the first occurrence of sub-string \a utf8_str tr avelling forwards from \a idx. | |||
- npos if the sub-string could not be found | - npos if the sub-string could not be found | |||
\exception std::length_error Thrown if \a str_len is 'npos' | \exception std::length_error Thrown if \a str_len is 'npos' | |||
*/ | */ | |||
size_type find(const utf8* utf8_str, size_type idx, size_type str_len) const | size_type find(const utf8* utf8_str, size_type idx, size_type str_len) const | |||
{ | { | |||
if (str_len == npos) | if (str_len == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
size_type sze = encoded_size(utf8_str, str_len); | size_type sze = encoded_size(utf8_str, str_len); | |||
if ((sze == 0) && (idx < d_cplength)) | if ((sze == 0) && (idx < d_cplength)) | |||
return idx; | return idx; | |||
if (idx < d_cplength) | if (idx < d_cplength) | |||
{ | { | |||
// loop while search string could fit in to search a rea | // loop while search string could fit in to search a rea | |||
while (d_cplength - idx >= sze) | while (d_cplength - idx >= sze) | |||
skipping to change at line 3491 | skipping to change at line 3495 | |||
\return | \return | |||
- Index of the first occurrence of sub-string \a utf8_str tr avelling backwards from \a idx. | - Index of the first occurrence of sub-string \a utf8_str tr avelling backwards from \a idx. | |||
- npos if the sub-string could not be found | - npos if the sub-string could not be found | |||
\exception std::length_error Thrown if \a str_len is 'npos' | \exception std::length_error Thrown if \a str_len is 'npos' | |||
*/ | */ | |||
size_type rfind(const utf8* utf8_str, size_type idx, size_type str_len) const | size_type rfind(const utf8* utf8_str, size_type idx, size_type str_len) const | |||
{ | { | |||
if (str_len == npos) | if (str_len == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
size_type sze = encoded_size(utf8_str, str_len); | size_type sze = encoded_size(utf8_str, str_len); | |||
if (sze == 0) | if (sze == 0) | |||
return (idx < d_cplength) ? idx : d_cplength; | return (idx < d_cplength) ? idx : d_cplength; | |||
if (sze <= d_cplength) | if (sze <= d_cplength) | |||
{ | { | |||
if (idx > (d_cplength - sze)) | if (idx > (d_cplength - sze)) | |||
idx = d_cplength - sze; | idx = d_cplength - sze; | |||
skipping to change at line 3579 | skipping to change at line 3583 | |||
\return | \return | |||
- Index of the first occurrence of sub-string \a chars trave lling forwards from \a idx. | - Index of the first occurrence of sub-string \a chars trave lling forwards from \a idx. | |||
- npos if the sub-string could not be found | - npos if the sub-string could not be found | |||
\exception std::length_error Thrown if \a chars_len is 'npos' | \exception std::length_error Thrown if \a chars_len is 'npos' | |||
*/ | */ | |||
size_type find(const char* chars, size_type idx, size_type cha rs_len) const | size_type find(const char* chars, size_type idx, size_type cha rs_len) const | |||
{ | { | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length for char array can n ot be 'npos'"); | CEGUI_THROW(std::length_error("Length for char array can not be 'npos'")); | |||
if ((chars_len == 0) && (idx < d_cplength)) | if ((chars_len == 0) && (idx < d_cplength)) | |||
return idx; | return idx; | |||
if (idx < d_cplength) | if (idx < d_cplength) | |||
{ | { | |||
// loop while search string could fit in to search a rea | // loop while search string could fit in to search a rea | |||
while (d_cplength - idx >= chars_len) | while (d_cplength - idx >= chars_len) | |||
{ | { | |||
if (0 == compare(idx, chars_len, chars, char s_len)) | if (0 == compare(idx, chars_len, chars, char s_len)) | |||
skipping to change at line 3622 | skipping to change at line 3626 | |||
\return | \return | |||
- Index of the first occurrence of sub-string \a chars trave lling backwards from \a idx. | - Index of the first occurrence of sub-string \a chars trave lling backwards from \a idx. | |||
- npos if the sub-string could not be found | - npos if the sub-string could not be found | |||
\exception std::length_error Thrown if \a chars_len is 'npos' | \exception std::length_error Thrown if \a chars_len is 'npos' | |||
*/ | */ | |||
size_type rfind(const char* chars, size_type idx, size_type ch ars_len) const | size_type rfind(const char* chars, size_type idx, size_type ch ars_len) const | |||
{ | { | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length for char array can n ot be 'npos'"); | CEGUI_THROW(std::length_error("Length for char array can not be 'npos'")); | |||
if (chars_len == 0) | if (chars_len == 0) | |||
return (idx < d_cplength) ? idx : d_cplength; | return (idx < d_cplength) ? idx : d_cplength; | |||
if (chars_len <= d_cplength) | if (chars_len <= d_cplength) | |||
{ | { | |||
if (idx > (d_cplength - chars_len)) | if (idx > (d_cplength - chars_len)) | |||
idx = d_cplength - chars_len; | idx = d_cplength - chars_len; | |||
do | do | |||
skipping to change at line 3865 | skipping to change at line 3869 | |||
\return | \return | |||
- Index of the first occurrence of any one of the code point s in \a utf8_str starting from from \a idx. | - Index of the first occurrence of any one of the code point s in \a utf8_str starting from from \a idx. | |||
- npos if none of the code points in \a utf8_str were found. | - npos if none of the code points in \a utf8_str were found. | |||
\exception std::length_error Thrown if \a str_len was 'npos'. | \exception std::length_error Thrown if \a str_len was 'npos'. | |||
*/ | */ | |||
size_type find_first_of(const utf8* utf8_str, size_type idx, s ize_type str_len) const | size_type find_first_of(const utf8* utf8_str, size_type idx, s ize_type str_len) const | |||
{ | { | |||
if (str_len == npos) | if (str_len == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
if (idx < d_cplength) | if (idx < d_cplength) | |||
{ | { | |||
size_type encsze = encoded_size(utf8_str, str_len); | size_type encsze = encoded_size(utf8_str, str_len); | |||
const utf32* pt = &ptr()[idx]; | const utf32* pt = &ptr()[idx]; | |||
do | do | |||
{ | { | |||
if (npos != find_codepoint(utf8_str, encsze, *pt++)) | if (npos != find_codepoint(utf8_str, encsze, *pt++)) | |||
skipping to change at line 3913 | skipping to change at line 3917 | |||
\return | \return | |||
- Index of the first code point that does not match any one of the code points in \a utf8_str starting from from \a idx. | - Index of the first code point that does not match any one of the code points in \a utf8_str starting from from \a idx. | |||
- npos if all code points matched one of the code points in \a utf8_str. | - npos if all code points matched one of the code points in \a utf8_str. | |||
\exception std::length_error Thrown if \a str_len was 'npos'. | \exception std::length_error Thrown if \a str_len was 'npos'. | |||
*/ | */ | |||
size_type find_first_not_of(const utf8* utf8_str, size_type id x, size_type str_len) const | size_type find_first_not_of(const utf8* utf8_str, size_type id x, size_type str_len) const | |||
{ | { | |||
if (str_len == npos) | if (str_len == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
if (idx < d_cplength) | if (idx < d_cplength) | |||
{ | { | |||
size_type encsze = encoded_size(utf8_str, str_len); | size_type encsze = encoded_size(utf8_str, str_len); | |||
const utf32* pt = &ptr()[idx]; | const utf32* pt = &ptr()[idx]; | |||
do | do | |||
{ | { | |||
if (npos == find_codepoint(utf8_str, encsze, *pt++)) | if (npos == find_codepoint(utf8_str, encsze, *pt++)) | |||
skipping to change at line 4048 | skipping to change at line 4052 | |||
\return | \return | |||
- Index of the first occurrence of any one of the chars in \ a chars starting from from \a idx. | - Index of the first occurrence of any one of the chars in \ a chars starting from from \a idx. | |||
- npos if none of the chars in \a chars were found. | - npos if none of the chars in \a chars were found. | |||
\exception std::length_error Thrown if \a chars_len was 'npos'. | \exception std::length_error Thrown if \a chars_len was 'npos'. | |||
*/ | */ | |||
size_type find_first_of(const char* chars, size_type idx, size _type chars_len) const | size_type find_first_of(const char* chars, size_type idx, size _type chars_len) const | |||
{ | { | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length for char array can n ot be 'npos'"); | CEGUI_THROW(std::length_error("Length for char array can not be 'npos'")); | |||
if (idx < d_cplength) | if (idx < d_cplength) | |||
{ | { | |||
const utf32* pt = &ptr()[idx]; | const utf32* pt = &ptr()[idx]; | |||
do | do | |||
{ | { | |||
if (npos != find_codepoint(chars, chars_len, *pt++)) | if (npos != find_codepoint(chars, chars_len, *pt++)) | |||
return idx; | return idx; | |||
skipping to change at line 4088 | skipping to change at line 4092 | |||
\return | \return | |||
- Index of the first code point that does not match any one of the chars in \a chars starting from from \a idx. | - Index of the first code point that does not match any one of the chars in \a chars starting from from \a idx. | |||
- npos if all code points matched any of the chars in \a cha rs. | - npos if all code points matched any of the chars in \a cha rs. | |||
\exception std::length_error Thrown if \a chars_len was 'npos'. | \exception std::length_error Thrown if \a chars_len was 'npos'. | |||
*/ | */ | |||
size_type find_first_not_of(const char* chars, size_type idx, size_type chars_len) const | size_type find_first_not_of(const char* chars, size_type idx, size_type chars_len) const | |||
{ | { | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length for char array can n ot be 'npos'"); | CEGUI_THROW(std::length_error("Length for char array can not be 'npos'")); | |||
if (idx < d_cplength) | if (idx < d_cplength) | |||
{ | { | |||
const utf32* pt = &ptr()[idx]; | const utf32* pt = &ptr()[idx]; | |||
do | do | |||
{ | { | |||
if (npos == find_codepoint(chars, chars_len, *pt++)) | if (npos == find_codepoint(chars, chars_len, *pt++)) | |||
return idx; | return idx; | |||
skipping to change at line 4339 | skipping to change at line 4343 | |||
\return | \return | |||
- Index of the last occurrence of any one of the code points in \a utf8_str starting from from \a idx. | - Index of the last occurrence of any one of the code points in \a utf8_str starting from from \a idx. | |||
- npos if none of the code points in \a utf8_str were found. | - npos if none of the code points in \a utf8_str were found. | |||
\exception std::length_error Thrown if \a str_len was 'npos'. | \exception std::length_error Thrown if \a str_len was 'npos'. | |||
*/ | */ | |||
size_type find_last_of(const utf8* utf8_str, size_type idx, si ze_type str_len) const | size_type find_last_of(const utf8* utf8_str, size_type idx, si ze_type str_len) const | |||
{ | { | |||
if (str_len == npos) | if (str_len == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
if (d_cplength > 0) | if (d_cplength > 0) | |||
{ | { | |||
if (idx >= d_cplength) | if (idx >= d_cplength) | |||
idx = d_cplength - 1; | idx = d_cplength - 1; | |||
size_type encsze = encoded_size(utf8_str, str_len); | size_type encsze = encoded_size(utf8_str, str_len); | |||
const utf32* pt = &ptr()[idx]; | const utf32* pt = &ptr()[idx]; | |||
skipping to change at line 4390 | skipping to change at line 4394 | |||
\return | \return | |||
- Index of the last code point that does not match any one o f the code points in \a utf8_str starting from from \a idx. | - Index of the last code point that does not match any one o f the code points in \a utf8_str starting from from \a idx. | |||
- npos if all code points matched one of the code points in \a utf8_str. | - npos if all code points matched one of the code points in \a utf8_str. | |||
\exception std::length_error Thrown if \a str_len was 'npos'. | \exception std::length_error Thrown if \a str_len was 'npos'. | |||
*/ | */ | |||
size_type find_last_not_of(const utf8* utf8_str, size_type idx , size_type str_len) const | size_type find_last_not_of(const utf8* utf8_str, size_type idx , size_type str_len) const | |||
{ | { | |||
if (str_len == npos) | if (str_len == npos) | |||
throw std::length_error("Length for utf8 encoded str ing can not be 'npos'"); | CEGUI_THROW(std::length_error("Length for utf8 encod ed string can not be 'npos'")); | |||
if (d_cplength > 0) | if (d_cplength > 0) | |||
{ | { | |||
if (idx >= d_cplength) | if (idx >= d_cplength) | |||
idx = d_cplength - 1; | idx = d_cplength - 1; | |||
size_type encsze = encoded_size(utf8_str, str_len); | size_type encsze = encoded_size(utf8_str, str_len); | |||
const utf32* pt = &ptr()[idx]; | const utf32* pt = &ptr()[idx]; | |||
skipping to change at line 4529 | skipping to change at line 4533 | |||
\return | \return | |||
- Index of the last occurrence of any one of the chars in \a chars, starting from from \a idx. | - Index of the last occurrence of any one of the chars in \a chars, starting from from \a idx. | |||
- npos if none of the chars in \a chars were found. | - npos if none of the chars in \a chars were found. | |||
\exception std::length_error Thrown if \a chars_len was 'npos'. | \exception std::length_error Thrown if \a chars_len was 'npos'. | |||
*/ | */ | |||
size_type find_last_of(const char* chars, size_type idx, size_ type chars_len) const | size_type find_last_of(const char* chars, size_type idx, size_ type chars_len) const | |||
{ | { | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length for char array can n ot be 'npos'"); | CEGUI_THROW(std::length_error("Length for char array can not be 'npos'")); | |||
if (d_cplength > 0) | if (d_cplength > 0) | |||
{ | { | |||
if (idx >= d_cplength) | if (idx >= d_cplength) | |||
idx = d_cplength - 1; | idx = d_cplength - 1; | |||
const utf32* pt = &ptr()[idx]; | const utf32* pt = &ptr()[idx]; | |||
do | do | |||
{ | { | |||
skipping to change at line 4572 | skipping to change at line 4576 | |||
\return | \return | |||
- Index of the last code point that does not match any one o f the chars in \a chars, starting from from \a idx. | - Index of the last code point that does not match any one o f the chars in \a chars, starting from from \a idx. | |||
- npos if all code points matched any of the chars in \a cha rs. | - npos if all code points matched any of the chars in \a cha rs. | |||
\exception std::length_error Thrown if \a chars_len was 'npos'. | \exception std::length_error Thrown if \a chars_len was 'npos'. | |||
*/ | */ | |||
size_type find_last_not_of(const char* chars, size_type idx, s ize_type chars_len) const | size_type find_last_not_of(const char* chars, size_type idx, s ize_type chars_len) const | |||
{ | { | |||
if (chars_len == npos) | if (chars_len == npos) | |||
throw std::length_error("Length for char array can n ot be 'npos'"); | CEGUI_THROW(std::length_error("Length for char array can not be 'npos'")); | |||
if (d_cplength > 0) | if (d_cplength > 0) | |||
{ | { | |||
if (idx >= d_cplength) | if (idx >= d_cplength) | |||
idx = d_cplength - 1; | idx = d_cplength - 1; | |||
const utf32* pt = &ptr()[idx]; | const utf32* pt = &ptr()[idx]; | |||
do | do | |||
{ | { | |||
skipping to change at line 4614 | skipping to change at line 4618 | |||
Maximum number of code points to use for the sub-string | Maximum number of code points to use for the sub-string | |||
\return | \return | |||
A String object containing the specified sub-string. | A String object containing the specified sub-string. | |||
\exception std::out_of_range Thrown if \a idx is invalid for this String. | \exception std::out_of_range Thrown if \a idx is invalid for this String. | |||
*/ | */ | |||
String substr(size_type idx = 0, size_type len = npos) const | String substr(size_type idx = 0, size_type len = npos) const | |||
{ | { | |||
if (d_cplength < idx) | if (d_cplength < idx) | |||
throw std::out_of_range("Index is out of range for t his CEGUI::String"); | CEGUI_THROW(std::out_of_range("Index is out of range for this CEGUI::String")); | |||
return String(*this, idx, len); | return String(*this, idx, len); | |||
} | } | |||
//////////////////////////////////////////////////////////////////// ////// | //////////////////////////////////////////////////////////////////// ////// | |||
// Iterator creation | // Iterator creation | |||
//////////////////////////////////////////////////////////////////// ////// | //////////////////////////////////////////////////////////////////// ////// | |||
/*! | /*! | |||
\brief | \brief | |||
Return a forwards iterator that describes the beginning of t he String | Return a forwards iterator that describes the beginning of t he String | |||
skipping to change at line 4917 | skipping to change at line 4921 | |||
// return number of utf32 code units required to re-encode given utf 8 data as utf32. len is number of code units in 'buf'. | // return number of utf32 code units required to re-encode given utf 8 data as utf32. len is number of code units in 'buf'. | |||
size_type encoded_size(const utf8* buf, size_type len) const | size_type encoded_size(const utf8* buf, size_type len) const | |||
{ | { | |||
utf8 tcp; | utf8 tcp; | |||
size_type count = 0; | size_type count = 0; | |||
while (len--) | while (len--) | |||
{ | { | |||
tcp = *buf++; | tcp = *buf++; | |||
++count; | ++count; | |||
size_type size = 0; | ||||
if (tcp < 0x80) | if (tcp < 0x80) | |||
{ | { | |||
} | } | |||
else if (tcp < 0xE0) | else if (tcp < 0xE0) | |||
{ | { | |||
--len; | size = 1; | |||
++buf; | ++buf; | |||
} | } | |||
else if (tcp < 0xF0) | else if (tcp < 0xF0) | |||
{ | { | |||
len -= 2; | size = 2; | |||
buf += 2; | buf += 2; | |||
} | } | |||
else | else | |||
{ | { | |||
len -= 2; | size = 3; | |||
buf += 3; | buf += 3; | |||
} | } | |||
if (len >= size) | ||||
len -= size; | ||||
else | ||||
break; | ||||
} | } | |||
return count; | return count; | |||
} | } | |||
// return number of code units in a null terminated string | // return number of code units in a null terminated string | |||
size_type utf_length(const utf8* utf8_str) const | size_type utf_length(const utf8* utf8_str) const | |||
{ | { | |||
size_type cnt = 0; | size_type cnt = 0; | |||
while (*utf8_str++) | while (*utf8_str++) | |||
End of changes. 59 change blocks. | ||||
59 lines changed or deleted | 68 lines changed or added | |||
CEGUISystem.h | CEGUISystem.h | |||
---|---|---|---|---|
skipping to change at line 74 | skipping to change at line 74 | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
static const double DefaultSingleClickTimeout; //!< Default timeout for generation of single click events. | static const double DefaultSingleClickTimeout; //!< Default timeout for generation of single click events. | |||
static const double DefaultMultiClickTimeout; //!< Default timeout for generation of multi-click events. | static const double DefaultMultiClickTimeout; //!< Default timeout for generation of multi-click events. | |||
static const Size DefaultMultiClickAreaSize; //!< Default allowable mouse movement for multi-click event generation. | static const Size DefaultMultiClickAreaSize; //!< Default allowable mouse movement for multi-click event generation. | |||
// event names | // event names | |||
static const String EventGUISheetChanged; | /** Event fired whenever the GUI sheet is changed. | |||
//!< Name of event fired whenever the GUI sheet is changed. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventSingleClickTimeoutChanged; //!< Name of | * WindowEventArgs::window set to the @e old GUI sheet (the new one is | |||
event fired when the single-click timeout is changed. | * obtained by querying System). | |||
static const String EventMultiClickTimeoutChanged; //!< Name of | */ | |||
event fired when the multi-click timeout is changed. | static const String EventGUISheetChanged; | |||
static const String EventMultiClickAreaSizeChanged; //!< Name of | /** Event fired when the single-click timeout is changed. | |||
event fired when the size of the multi-click tolerance area is changed. | * Handlers are passed a const reference to a generic EventArgs struct. | |||
static const String EventDefaultFontChanged; //!< | */ | |||
Name of event fired when the default font changes. | static const String EventSingleClickTimeoutChanged; | |||
static const String EventDefaultMouseCursorChanged; //!< Name of | /** Event fired when the multi-click timeout is changed. | |||
event fired when the default mouse cursor changes. | * Handlers are passed a const reference to a generic EventArgs struct. | |||
static const String EventMouseMoveScalingChanged; //!< | */ | |||
Name of event fired when the mouse move scaling factor changes. | static const String EventMultiClickTimeoutChanged; | |||
//! Name of event fired for display size changes (as notified by client | /** Event fired when the size of the multi-click tolerance area is chan | |||
). | ged. | |||
* Handlers are passed a const reference to a generic EventArgs struct. | ||||
*/ | ||||
static const String EventMultiClickAreaSizeChanged; | ||||
/** Event fired when the default font changes. | ||||
* Handlers are passed a const reference to a generic EventArgs struct. | ||||
*/ | ||||
static const String EventDefaultFontChanged; | ||||
/** Event fired when the default mouse cursor changes. | ||||
* Handlers are passed a const reference to a generic EventArgs struct. | ||||
*/ | ||||
static const String EventDefaultMouseCursorChanged; | ||||
/** Event fired when the mouse move scaling factor changes. | ||||
* Handlers are passed a const reference to a generic EventArgs struct. | ||||
*/ | ||||
static const String EventMouseMoveScalingChanged; | ||||
/** Event fired for display size changes (as notified by client code). | ||||
* Handlers are passed a const DisplayEventArgs reference with | ||||
* DisplayEventArgs::size set to the pixel size that was notifiied to t | ||||
he | ||||
* system. | ||||
*/ | ||||
static const String EventDisplaySizeChanged; | static const String EventDisplaySizeChanged; | |||
//! Name of event fired when global custom RenderedStringParser is set. | /** Event fired when global custom RenderedStringParser is set. | |||
* Handlers are passed a const reference to a generic EventArgs struct. | ||||
*/ | ||||
static const String EventRenderedStringParserChanged; | static const String EventRenderedStringParserChanged; | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Construction and Destruction | Construction and Destruction | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Create the System object and return a reference to it. | Create the System object and return a reference to it. | |||
\param renderer | \param renderer | |||
skipping to change at line 790 | skipping to change at line 819 | |||
The set RenderedStringParser is used for all windows that have | The set RenderedStringParser is used for all windows that have | |||
parsing enabled and no custom RenderedStringParser set on the windo w | parsing enabled and no custom RenderedStringParser set on the windo w | |||
itself. | itself. | |||
If this global custom RenderedStringParser is set to 0, then all wi ndows | If this global custom RenderedStringParser is set to 0, then all wi ndows | |||
with parsing enabled and no custom RenderedStringParser set on the | with parsing enabled and no custom RenderedStringParser set on the | |||
window itself will use the systems BasicRenderedStringParser. | window itself will use the systems BasicRenderedStringParser. | |||
*/ | */ | |||
void setDefaultCustomRenderedStringParser(RenderedStringParser* parser) ; | void setDefaultCustomRenderedStringParser(RenderedStringParser* parser) ; | |||
/*! | ||||
\brief | ||||
Invalidate all imagery and geometry caches for CEGUI managed elemen | ||||
ts. | ||||
This function will invalidate the caches used for both imagery and | ||||
geometry for all content that is managed by the core CEGUI manager | ||||
objects, causing a full and total redraw of that content. This | ||||
includes Window object's cached geometry, rendering surfaces and | ||||
rendering windows and the mouse pointer geometry. | ||||
*/ | ||||
void invalidateAllCachedRendering(); | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Input injection interface | Input injection interface | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Method that injects a mouse movement event into the system | Method that injects a mouse movement event into the system | |||
\param delta_x | \param delta_x | |||
amount the mouse moved on the x axis. | amount the mouse moved on the x axis. | |||
skipping to change at line 1146 | skipping to change at line 1187 | |||
//! setup image codec | //! setup image codec | |||
void setupImageCodec(const String& codecName); | void setupImageCodec(const String& codecName); | |||
//! cleanup image codec | //! cleanup image codec | |||
void cleanupImageCodec(); | void cleanupImageCodec(); | |||
//! Set the CEGUI version string that gets output to the log. | //! Set the CEGUI version string that gets output to the log. | |||
void initialiseVersionString(); | void initialiseVersionString(); | |||
//! invalidate all windows and any rendering surfaces they may be using | ||||
. | ||||
void invalidateAllWindows(); | ||||
//! return common ancestor of two windows. | ||||
Window* getCommonAncestor(Window* w1, Window* w2); | ||||
//! call some function for a chain of windows: (top, bottom] | ||||
void notifyMouseTransition(Window* top, Window* bottom, | ||||
void (Window::*func)(MouseEventArgs&), | ||||
MouseEventArgs& args); | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Handlers for System events | Handlers for System events | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Handler called when the main system GUI Sheet (or root windo w) is changed. | Handler called when the main system GUI Sheet (or root windo w) is changed. | |||
\a e is a WindowEventArgs with 'window' set to the old root window. | \a e is a WindowEventArgs with 'window' set to the old root window. | |||
*/ | */ | |||
void onGUISheetChanged(WindowEventArgs& e); | void onGUISheetChanged(WindowEventArgs& e); | |||
End of changes. 4 change blocks. | ||||
17 lines changed or deleted | 65 lines changed or added | |||
CEGUITGAImageCodec.h | CEGUITGAImageCodec.h | |||
---|---|---|---|---|
skipping to change at line 68 | skipping to change at line 68 | |||
This is our image structure for our targa data | This is our image structure for our targa data | |||
*/ | */ | |||
struct ImageTGA | struct ImageTGA | |||
{ | { | |||
int channels; //!< The channels in the image (3 = RGB : 4 = RGBA) | int channels; //!< The channels in the image (3 = RGB : 4 = RGBA) | |||
int sizeX; //!< The width of the image in pixels | int sizeX; //!< The width of the image in pixels | |||
int sizeY; //!< The height of the image in pixels | int sizeY; //!< The height of the image in pixels | |||
unsigned char *data; //!< The image pixel data | unsigned char *data; //!< The image pixel data | |||
}; | }; | |||
/*! | //! vertically flip data for tImageTGA 'img' | |||
\brief | static void flipVertImageTGA(ImageTGA* img); | |||
flips data for tImageTGA 'img' | //! horizontally flip data for tImageTGA 'img' | |||
*/ | static void flipHorzImageTGA(ImageTGA* img); | |||
static void flipImageTGA(ImageTGA* img); | ||||
/*! | /*! | |||
\brief | \brief | |||
load a TGA from a byte buffer | load a TGA from a byte buffer | |||
*/ | */ | |||
static ImageTGA* loadTGA(const unsigned char* buffer, size_t buffer_siz e); | static ImageTGA* loadTGA(const unsigned char* buffer, size_t buffer_siz e); | |||
/*! | /*! | |||
\brief | \brief | |||
convert 24 bits Image to 32 bits one | convert 24 bits Image to 32 bits one | |||
*/ | */ | |||
static void convertRGBToRGBA(ImageTGA* img); | static void convertRGBToRGBA(ImageTGA* img); | |||
End of changes. 1 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
CEGUITabButton.h | CEGUITabButton.h | |||
---|---|---|---|---|
skipping to change at line 55 | skipping to change at line 55 | |||
class CEGUIEXPORT TabButton : public ButtonBase | class CEGUIEXPORT TabButton : public ButtonBase | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// generated internally by Window | // generated internally by Window | |||
static const String EventClicked; | /** Event fired when the button is clicked. | |||
//!< The button was clicked. | * Handlers are passed a const WindowEventArgs reference with | |||
static const String EventDragged; | * WindowEventArgs::window set to the TabButton that was clicked. | |||
//!< Attempt to drag the button with middle button. | */ | |||
static const String EventScrolled; | static const String EventClicked; | |||
//!< Scroll wheel activated on top of the button. | /** Event fired when use user attempts to drag the button with middle m | |||
ouse | ||||
* button. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventDragged; | ||||
/** Event fired when the scroll wheel is used on top of the button. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventScrolled; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Construction and Destruction | Construction and Destruction | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor for base TabButton class | Constructor for base TabButton class | |||
*/ | */ | |||
TabButton(const String& type, const String& name); | TabButton(const String& type, const String& name); | |||
End of changes. 1 change blocks. | ||||
6 lines changed or deleted | 17 lines changed or added | |||
CEGUITabControl.h | CEGUITabControl.h | |||
---|---|---|---|---|
skipping to change at line 94 | skipping to change at line 94 | |||
enum TabPanePosition | enum TabPanePosition | |||
{ | { | |||
Top, | Top, | |||
Bottom | Bottom | |||
}; | }; | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Constants | Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// event names | // event names | |||
static const String EventSelectionChanged; //!< | /** Event fired when a different tab is selected. | |||
Event triggered when there is a change to the currently selected tab. | * Handlers are passed a const WindowEventArgs reference with | |||
* WindowEventArgs::window set to the TabControl that has a newly | ||||
* selected tab. | ||||
*/ | ||||
static const String EventSelectionChanged; | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String ContentPaneNameSuffix; //!< Widget name suffix for the tab content pane component. | static const String ContentPaneNameSuffix; //!< Widget name suffix for the tab content pane component. | |||
static const String TabButtonNameSuffix; //!< Widget name suffix for the tab button components. | static const String TabButtonNameSuffix; //!< Widget name suffix for the tab button components. | |||
static const String TabButtonPaneNameSuffix; //!< Widget name suffix fo r the tab button pane component. | static const String TabButtonPaneNameSuffix; //!< Widget name suffix fo r the tab button pane component. | |||
static const String ButtonScrollLeftSuffix;//!< Widget name suffix for the scroll tabs to right pane component. | static const String ButtonScrollLeftSuffix;//!< Widget name suffix for the scroll tabs to right pane component. | |||
static const String ButtonScrollRightSuffix; //!< Widget name suffix fo r the scroll tabs to left pane component. | static const String ButtonScrollRightSuffix; //!< Widget name suffix fo r the scroll tabs to left pane component. | |||
End of changes. 1 change blocks. | ||||
2 lines changed or deleted | 6 lines changed or added | |||
CEGUIThumb.h | CEGUIThumb.h | |||
---|---|---|---|---|
skipping to change at line 64 | skipping to change at line 64 | |||
class CEGUIEXPORT Thumb : public PushButton | class CEGUIEXPORT Thumb : public PushButton | |||
{ | { | |||
public: | public: | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String WidgetTypeName; //!< Window factory nam e | static const String WidgetTypeName; //!< Window factory nam e | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Event name constants | Event name constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
// generated internally by Window | // generated internally by Window | |||
static const String EventThumbPositionChanged; //!< The pos | /** Event fired when the position of the thumb widget has changed (this | |||
ition of the thumb widget has changed. | * event is only fired when hot tracking is enabled). | |||
static const String EventThumbTrackStarted; //!< | * Handlers are passed a const WindowEventArgs reference with | |||
Name of the event fired when the user begins dragging the thumb. | * WindowEventArgs::window set to the Thumb whose position has changed. | |||
static const String EventThumbTrackEnded; | */ | |||
//!< Name of the event fired when the user releases the thumb. | static const String EventThumbPositionChanged; | |||
/** Event fired when the user begins dragging the thumb. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Thumb that has started to be drag | ||||
ged | ||||
* by the user. | ||||
*/ | ||||
static const String EventThumbTrackStarted; | ||||
/** Event fired when the user releases the thumb. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Thumb that has been released. | ||||
*/ | ||||
static const String EventThumbTrackEnded; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Accessor Functions | Accessor Functions | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
return whether hot-tracking is enabled or not. | return whether hot-tracking is enabled or not. | |||
\return | \return | |||
true if hot-tracking is enabled. false if hot-tracking is d isabled. | true if hot-tracking is enabled. false if hot-tracking is d isabled. | |||
End of changes. 1 change blocks. | ||||
6 lines changed or deleted | 18 lines changed or added | |||
CEGUITooltip.h | CEGUITooltip.h | |||
---|---|---|---|---|
skipping to change at line 89 | skipping to change at line 89 | |||
properly passed to the system via System::injectTimePulse. | properly passed to the system via System::injectTimePulse. | |||
*/ | */ | |||
class CEGUIEXPORT Tooltip : public Window | class CEGUIEXPORT Tooltip : public Window | |||
{ | { | |||
public: | public: | |||
/****************************************************************** ******* | /****************************************************************** ******* | |||
Constants | Constants | |||
******************************************************************* ******/ | ******************************************************************* ******/ | |||
static const String WidgetTypeName; //!< Window fac tory name | static const String WidgetTypeName; //!< Window fac tory name | |||
static const String EventNamespace; //!< Namespace for global events | static const String EventNamespace; //!< Namespace for global events | |||
static const String EventHoverTimeChanged; //!< Event fire | /** Event fired when the hover timeout for the tool tip gets change | |||
d when the hover timeout gets changed. | d. | |||
static const String EventDisplayTimeChanged; //!< Event fire | * Handlers are passed a const WindowEventArgs reference with | |||
d when the display timeout gets changed. | * WindowEventArgs::window set to the Tooltip whose hover timeout h | |||
static const String EventFadeTimeChanged; //!< Event fire | as | |||
d when the fade timeout gets changed. | * been changed. | |||
static const String EventTooltipActive; //!< Event fire | */ | |||
d when the tooltip is about to get activated. | static const String EventHoverTimeChanged; | |||
static const String EventTooltipInactive; //!< Event fire | /** Event fired when the display timeout for the tool tip gets chan | |||
d when the tooltip has been deactivated. | ged. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Tooltip whose display timeout | ||||
has | ||||
* been changed. | ||||
*/ | ||||
static const String EventDisplayTimeChanged; | ||||
/** Event fired when the fade timeout for the tooltip gets changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Tooltip whose fade timeout ha | ||||
s | ||||
* been changed. | ||||
*/ | ||||
static const String EventFadeTimeChanged; | ||||
/** Event fired when the tooltip is about to get activated. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Tooltip that is about to beco | ||||
me | ||||
* active. | ||||
*/ | ||||
static const String EventTooltipActive; | ||||
/** Event fired when the tooltip has been deactivated. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Tooltip that has become inact | ||||
ive. | ||||
*/ | ||||
static const String EventTooltipInactive; | ||||
/****************************************************************** ****** | /****************************************************************** ****** | |||
Object Construction and Destruction | Object Construction and Destruction | |||
******************************************************************* *****/ | ******************************************************************* *****/ | |||
/*! | /*! | |||
\brief | \brief | |||
Constructor for the Tooltip base class constructor | Constructor for the Tooltip base class constructor | |||
*/ | */ | |||
Tooltip(const String& type, const String& name); | Tooltip(const String& type, const String& name); | |||
End of changes. 1 change blocks. | ||||
10 lines changed or deleted | 36 lines changed or added | |||
CEGUITree.h | CEGUITree.h | |||
---|---|---|---|---|
skipping to change at line 88 | skipping to change at line 88 | |||
public: | public: | |||
//! Namespace for global events | //! Namespace for global events | |||
static const String EventNamespace; | static const String EventNamespace; | |||
static const String WidgetTypeName; | static const String WidgetTypeName; | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Constants | Constants | |||
********************************************************************** ***/ | ********************************************************************** ***/ | |||
// event names | // event names | |||
//! Event triggered when the contents of the tree is changed. | /** Event fired when the content of the tree is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Tree whose content has changed. | ||||
*/ | ||||
static const String EventListContentsChanged; | static const String EventListContentsChanged; | |||
//! Event triggered when there is a change to the currently selected it | /** Event fired when there is a change to the currently selected item(s | |||
em(s). | ). | |||
* Handlers are passed a const TreeEventArgs reference with | ||||
* WindowEventArgs::window set to the Tree whose item selection has cha | ||||
nged, | ||||
* and TreeEventArgs::treeItem is set to the (last) item to be selected | ||||
, or | ||||
* 0 if none. | ||||
*/ | ||||
static const String EventSelectionChanged; | static const String EventSelectionChanged; | |||
//! Event triggered when the sort mode setting changes. | /** Event fired when the sort mode setting for the Tree is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Tree whose sort mode has been | ||||
* changed. | ||||
*/ | ||||
static const String EventSortModeChanged; | static const String EventSortModeChanged; | |||
//! Event triggered when the multi-select mode setting changes. | /** Event fired when the multi-select mode setting for the Tree changes | |||
. | ||||
* Handlers are passed a const TreeEventArgs reference with | ||||
* WindowEventArgs::window set to the Tree whose setting has changed. | ||||
* TreeEventArgs::treeItem is always set to 0. | ||||
*/ | ||||
static const String EventMultiselectModeChanged; | static const String EventMultiselectModeChanged; | |||
//! Event triggered when the vertical scroll bar 'force' setting change | /** Event fired when the mode setting that forces the display of the | |||
s. | * vertical scroll bar for the tree is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Tree whose vertical scrollbar mod | ||||
e has | ||||
* been changed. | ||||
*/ | ||||
static const String EventVertScrollbarModeChanged; | static const String EventVertScrollbarModeChanged; | |||
//! Event triggered when the horizontal scroll bar 'force' setting chan | /** Event fired when the mode setting that forces the display of the | |||
ges. | * horizontal scroll bar for the tree is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Tree whose horizontal scrollbar m | ||||
ode | ||||
* has been changed. | ||||
*/ | ||||
static const String EventHorzScrollbarModeChanged; | static const String EventHorzScrollbarModeChanged; | |||
//! Event triggered when a branch of the tree is opened by the user. | /** Event fired when a branch of the tree is opened by the user. | |||
* Handlers are passed a const TreeEventArgs reference with | ||||
* WindowEventArgs::window set to the Tree containing the branch that h | ||||
as | ||||
* been opened and TreeEventArgs::treeItem set to the TreeItem at the h | ||||
ead | ||||
* of the opened branch. | ||||
*/ | ||||
static const String EventBranchOpened; | static const String EventBranchOpened; | |||
//! Event triggered when a branch of the tree is closed by the user. | /** Event fired when a branch of the tree is closed by the user. | |||
* Handlers are passed a const TreeEventArgs reference with | ||||
* WindowEventArgs::window set to the Tree containing the branch that h | ||||
as | ||||
* been closed and TreeEventArgs::treeItem set to the TreeItem at the h | ||||
ead | ||||
* of the closed branch. | ||||
*/ | ||||
static const String EventBranchClosed; | static const String EventBranchClosed; | |||
//Render the actual tree | //Render the actual tree | |||
void doTreeRender() | void doTreeRender() | |||
{ populateGeometryBuffer(); } | { populateGeometryBuffer(); } | |||
//UpdateScrollbars | //UpdateScrollbars | |||
void doScrollbars() | void doScrollbars() | |||
{ configureScrollbars(); } | { configureScrollbars(); } | |||
End of changes. 8 change blocks. | ||||
11 lines changed or deleted | 54 lines changed or added | |||
CEGUITreeItem.h | CEGUITreeItem.h | |||
---|---|---|---|---|
skipping to change at line 85 | skipping to change at line 85 | |||
\brief | \brief | |||
base class constructor | base class constructor | |||
*/ | */ | |||
TreeItem(const String& text, uint item_id = 0, void* item_data = 0, | TreeItem(const String& text, uint item_id = 0, void* item_data = 0, | |||
bool disabled = false, bool auto_delete = true); | bool disabled = false, bool auto_delete = true); | |||
/*! | /*! | |||
\brief | \brief | |||
base class destructor | base class destructor | |||
*/ | */ | |||
virtual ~TreeItem(void) {} | virtual ~TreeItem(void); | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Accessors | Accessors | |||
********************************************************************** ***/ | ********************************************************************** ***/ | |||
/*! | /*! | |||
\brief | \brief | |||
Return a pointer to the font being used by this TreeItem | Return a pointer to the font being used by this TreeItem | |||
This method will try a number of places to find a font to be used. If | This method will try a number of places to find a font to be used. If | |||
no font can be found, NULL is returned. | no font can be found, NULL is returned. | |||
skipping to change at line 151 | skipping to change at line 151 | |||
\brief | \brief | |||
Set the colours used for text rendering. | Set the colours used for text rendering. | |||
\param cols | \param cols | |||
ColourRect object describing the colours to be used. | ColourRect object describing the colours to be used. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void setTextColours(const ColourRect& cols) | void setTextColours(const ColourRect& cols) | |||
{ d_textCols = cols; } | { d_textCols = cols; d_renderedStringValid = false; } | |||
/*! | /*! | |||
\brief | \brief | |||
Set the colours used for text rendering. | Set the colours used for text rendering. | |||
\param top_left_colour | \param top_left_colour | |||
Colour (as ARGB value) to be applied to the top-left corner of each text | Colour (as ARGB value) to be applied to the top-left corner of each text | |||
glyph rendered. | glyph rendered. | |||
\param top_right_colour | \param top_right_colour | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||
CEGUIUDim.h | CEGUIUDim.h | |||
---|---|---|---|---|
skipping to change at line 41 | skipping to change at line 41 | |||
#include "CEGUIRect.h" | #include "CEGUIRect.h" | |||
#include "CEGUIVector.h" | #include "CEGUIVector.h" | |||
// some macros to aid in the creation of UDims | // some macros to aid in the creation of UDims | |||
#define cegui_absdim(x) CEGUI::UDim(0,(x)) | #define cegui_absdim(x) CEGUI::UDim(0,(x)) | |||
#define cegui_reldim(x) CEGUI::UDim((x),0) | #define cegui_reldim(x) CEGUI::UDim((x),0) | |||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
/*! | /*! | |||
\brief | \brief | |||
Class representing a unified dimension; that is a dimension that ha | Class representing a unified dimension; that is a dimension that has bo | |||
s both | th | |||
a relative 'scale' portion and and absolute 'offset' portion. | a relative 'scale' portion and and absolute 'offset' portion. | |||
*/ | */ | |||
class CEGUIEXPORT UDim | class CEGUIEXPORT UDim | |||
{ | ||||
public: | ||||
UDim() {} | ||||
UDim(float scale, float offset) : d_scale(scale), d_offset(offset) {} | ||||
UDim(const UDim& v): d_scale(v.d_scale), d_offset(v.d_offset) {} | ||||
~UDim() {} | ||||
float asAbsolute(float base) const | ||||
{ | { | |||
public: | return PixelAligned(base * d_scale) + d_offset; | |||
UDim() {} | } | |||
UDim(float scale, float offset) : d_scale(scale), d_offset(offset) | float asRelative(float base) const | |||
{} | { | |||
~UDim() {} | return (base != 0.0f) ? d_offset / base + d_scale : 0.0f; | |||
} | ||||
float asAbsolute(float base) const { return PixelAligned(base * | UDim operator+(const UDim& other) const | |||
d_scale) + d_offset; } | { | |||
float asRelative(float base) const { return (base != 0.0f) ? d_o | return UDim(d_scale + other.d_scale, d_offset + other.d_offset); | |||
ffset / base + d_scale : 0.0f; } | } | |||
UDim operator-(const UDim& other) const | ||||
{ | ||||
return UDim(d_scale - other.d_scale, d_offset - other.d_offset); | ||||
} | ||||
UDim operator*(const UDim& other) const | ||||
{ | ||||
return UDim(d_scale * other.d_scale, d_offset * other.d_offset); | ||||
} | ||||
UDim operator/(const UDim& other) const | ||||
{ | ||||
// division by zero sets component to zero. Not technically correc | ||||
t | ||||
// but probably better than exceptions and/or NaN values. | ||||
return UDim(other.d_scale == 0.0f ? 0.0f : d_scale / other.d_scale, | ||||
other.d_offset == 0.0f ? 0.0f : d_offset / other.d_offs | ||||
et); | ||||
} | ||||
UDim operator+(const UDim& other) const { return UDim(d_scale + | const UDim& operator+=(const UDim& other) | |||
other.d_scale, d_offset + other.d_offset); } | { | |||
UDim operator-(const UDim& other) const { return UDim(d_scale - | d_scale += other.d_scale; | |||
other.d_scale, d_offset - other.d_offset); } | d_offset += other.d_offset; | |||
UDim operator*(const UDim& other) const { return UDim(d_scale * | return *this; | |||
other.d_scale, d_offset * other.d_offset); } | } | |||
UDim operator/(const UDim& other) const | const UDim& operator-=(const UDim& other) | |||
{ | { | |||
// division by zero sets component to zero. Not technically co | d_scale -= other.d_scale; | |||
rrect | d_offset -= other.d_offset; | |||
// but probably better than exceptions and/or NaN values. | return *this; | |||
return UDim(other.d_scale == 0.0f ? 0.0f : d_scale / other.d_sc | } | |||
ale, | const UDim& operator*=(const UDim& other) | |||
other.d_offset == 0.0f ? 0.0f : d_offset / other.d_ | { | |||
offset); | d_scale *= other.d_scale; | |||
} | d_offset *= other.d_offset; | |||
return *this; | ||||
} | ||||
const UDim& operator/=(const UDim& other) | ||||
{ | ||||
// division by zero sets component to zero. Not technically correc | ||||
t | ||||
// but probably better than exceptions and/or NaN values. | ||||
d_scale = (other.d_scale == 0.0f ? 0.0f : d_scale / other.d_scale); | ||||
d_offset = (other.d_offset == 0.0f ? 0.0f : d_offset / other.d_offs | ||||
et); | ||||
return *this; | ||||
} | ||||
const UDim& operator+=(const UDim& other) { d_scale += other.d_sc | bool operator==(const UDim& other) const | |||
ale; d_offset += other.d_offset; return *this; } | { | |||
const UDim& operator-=(const UDim& other) { d_scale -= other.d_sc | return d_scale == other.d_scale && d_offset == other.d_offset; | |||
ale; d_offset -= other.d_offset; return *this; } | } | |||
const UDim& operator*=(const UDim& other) { d_scale *= other.d_sc | bool operator!=(const UDim& other) const | |||
ale; d_offset *= other.d_offset; return *this; } | { | |||
const UDim& operator/=(const UDim& other) | return !operator==(other); | |||
{ | } | |||
// division by zero sets component to zero. Not technically co | ||||
rrect | ||||
// but probably better than exceptions and/or NaN values. | ||||
d_scale = (other.d_scale == 0.0f ? 0.0f : d_scale / other.d_sca | ||||
le); | ||||
d_offset = (other.d_offset == 0.0f ? 0.0f : d_offset / other.d_ | ||||
offset); | ||||
return *this; | ||||
} | ||||
bool operator==(const UDim& other) const { return d_scale == oth | float d_scale, d_offset; | |||
er.d_scale && d_offset == other.d_offset; } | }; | |||
bool operator!=(const UDim& other) const { return !operator==(ot | ||||
her); } | ||||
float d_scale, d_offset; | /*! | |||
}; | \brief | |||
Two dimensional vector class built using unified dimensions (UDims). | ||||
The UVector2 class is used for representing both positions and sizes. | ||||
*/ | ||||
class CEGUIEXPORT UVector2 | ||||
{ | ||||
public: | ||||
UVector2() {} | ||||
UVector2(const UDim& x, const UDim& y) : d_x(x), d_y(y) {} | ||||
UVector2(const UVector2& v): d_x(v.d_x), d_y(v.d_y) {} | ||||
~UVector2() {} | ||||
/*! | Vector2 asAbsolute(const Size& base) const | |||
\brief | ||||
Two dimensional vector class built using unified dimensions (UDims) | ||||
. | ||||
The UVector2 class is used for representing both positions and size | ||||
s. | ||||
*/ | ||||
class CEGUIEXPORT UVector2 | ||||
{ | { | |||
public: | return Vector2(d_x.asAbsolute(base.d_width), d_y.asAbsolute(base.d_ | |||
UVector2() {} | height)); | |||
UVector2(const UDim& x, const UDim& y) : d_x(x), d_y(y) {} | } | |||
~UVector2() {} | Vector2 asRelative(const Size& base) const | |||
{ | ||||
return Vector2(d_x.asRelative(base.d_width), d_y.asRelative(base.d_ | ||||
height)); | ||||
} | ||||
Vector2 asAbsolute(const Size& base) const { return Vector2(d_x. | UVector2 operator+(const UVector2& other) const | |||
asAbsolute(base.d_width), d_y.asAbsolute(base.d_height)); } | { | |||
Vector2 asRelative(const Size& base) const { return Vector2(d_x. | return UVector2(d_x + other.d_x, d_y + other.d_y); | |||
asRelative(base.d_width), d_y.asRelative(base.d_height)); } | } | |||
UVector2 operator-(const UVector2& other) const | ||||
{ | ||||
return UVector2(d_x - other.d_x, d_y - other.d_y); | ||||
} | ||||
UVector2 operator/(const UVector2& other) const | ||||
{ | ||||
return UVector2(d_x / other.d_x, d_y / other.d_y); | ||||
} | ||||
UVector2 operator*(const UVector2& other) const | ||||
{ | ||||
return UVector2(d_x * other.d_x, d_y * other.d_y); | ||||
} | ||||
UVector2 operator+(const UVector2& other) const { return UVecto | const UVector2& operator+=(const UVector2& other) | |||
r2(d_x + other.d_x, d_y + other.d_y); } | { | |||
UVector2 operator-(const UVector2& other) const { return UVecto | d_x += other.d_x; | |||
r2(d_x - other.d_x, d_y - other.d_y); } | d_y += other.d_y; | |||
UVector2 operator/(const UVector2& other) const { return UVecto | return *this; | |||
r2(d_x / other.d_x, d_y / other.d_y); } | } | |||
UVector2 operator*(const UVector2& other) const { return UVecto | const UVector2& operator-=(const UVector2& other) | |||
r2(d_x * other.d_x, d_y * other.d_y); } | { | |||
d_x -= other.d_x; | ||||
d_y -= other.d_y; | ||||
return *this; | ||||
} | ||||
const UVector2& operator/=(const UVector2& other) | ||||
{ | ||||
d_x /= other.d_x; | ||||
d_y /= other.d_y; | ||||
return *this; | ||||
} | ||||
const UVector2& operator*=(const UVector2& other) | ||||
{ | ||||
d_x *= other.d_x; | ||||
d_y *= other.d_y; | ||||
return *this; | ||||
} | ||||
const UVector2& operator+=(const UVector2& other) { d_x += other. | UVector2 operator+(const UDim& dim) const | |||
d_x; d_y += other.d_y; return *this; } | { | |||
const UVector2& operator-=(const UVector2& other) { d_x -= other. | return UVector2(d_x + dim, d_y + dim); | |||
d_x; d_y -= other.d_y; return *this; } | } | |||
const UVector2& operator/=(const UVector2& other) { d_x /= other. | UVector2 operator-(const UDim& dim) const | |||
d_x; d_y /= other.d_y; return *this; } | { | |||
const UVector2& operator*=(const UVector2& other) { d_x *= other. | return UVector2(d_x - dim, d_y - dim); | |||
d_x; d_y *= other.d_y; return *this; } | } | |||
UVector2 operator/(const UDim& dim) const | ||||
{ | ||||
return UVector2(d_x / dim, d_y / dim); | ||||
} | ||||
UVector2 operator*(const UDim& dim) const | ||||
{ | ||||
return UVector2(d_x * dim, d_y * dim); | ||||
} | ||||
UVector2 operator+(const UDim& dim) const { return UVector2(d_x | const UVector2& operator+=(const UDim& dim) | |||
+ dim, d_y + dim); } | { | |||
UVector2 operator-(const UDim& dim) const { return UVector2(d_x | d_x += dim; | |||
- dim, d_y - dim); } | d_y += dim; | |||
UVector2 operator/(const UDim& dim) const { return UVector2(d_x | return *this; | |||
/ dim, d_y / dim); } | } | |||
UVector2 operator*(const UDim& dim) const { return UVector2(d_x | const UVector2& operator-=(const UDim& dim) | |||
* dim, d_y * dim); } | { | |||
d_x -= dim; | ||||
d_y -= dim; | ||||
return *this; | ||||
} | ||||
const UVector2& operator/=(const UDim& dim) | ||||
{ | ||||
d_x /= dim; | ||||
d_y /= dim; | ||||
return *this; | ||||
} | ||||
const UVector2& operator*=(const UDim& dim) | ||||
{ | ||||
d_x *= dim; | ||||
d_y *= dim; | ||||
return *this; | ||||
} | ||||
const UVector2& operator+=(const UDim& dim) { d_x += dim; d_y += | bool operator==(const UVector2& other) const | |||
dim; return *this; } | { | |||
const UVector2& operator-=(const UDim& dim) { d_x -= dim; d_y -= | return d_x == other.d_x && d_y == other.d_y; | |||
dim; return *this; } | } | |||
const UVector2& operator/=(const UDim& dim) { d_x /= dim; d_y /= | bool operator!=(const UVector2& other) const | |||
dim; return *this; } | { | |||
const UVector2& operator*=(const UDim& dim) { d_x *= dim; d_y *= | return !operator==(other); | |||
dim; return *this; } | } | |||
bool operator==(const UVector2& other) const { return d_x == oth | UDim d_x, d_y; | |||
er.d_x && d_y == other.d_y; } | }; | |||
bool operator!=(const UVector2& other) const { return !operator= | ||||
=(other); } | ||||
UDim d_x, d_y; | /*! | |||
}; | \brief | |||
Area rectangle class built using unified dimensions (UDims). | ||||
*/ | ||||
class CEGUIEXPORT URect | ||||
{ | ||||
public: | ||||
URect() {} | ||||
/*! | URect(const UVector2& min, const UVector2& max) : d_min(min), d_max(max | |||
\brief | ) {} | |||
Area rectangle class built using unified dimensions (UDims). | ||||
*/ | URect(const UDim& left, const UDim& top, const UDim& right, const UDim& | |||
class CEGUIEXPORT URect | bottom) | |||
{ | { | |||
public: | d_min.d_x = left; | |||
URect() {} | d_min.d_y = top; | |||
d_max.d_x = right; | ||||
d_max.d_y = bottom; | ||||
} | ||||
URect(const UVector2& min, const UVector2& max) : d_min(min), d_max (max) {} | URect(const URect& v): d_min(v.d_min), d_max(v.d_max) {} | |||
URect(const UDim& left, const UDim& top, const UDim& right, const U | ~URect() {} | |||
Dim& bottom) | ||||
{ | ||||
d_min.d_x = left; | ||||
d_min.d_y = top; | ||||
d_max.d_x = right; | ||||
d_max.d_y = bottom; | ||||
} | ||||
~URect() {} | Rect asAbsolute(const Size& base) const | |||
{ | ||||
return Rect( | ||||
d_min.d_x.asAbsolute(base.d_width), | ||||
d_min.d_y.asAbsolute(base.d_height), | ||||
d_max.d_x.asAbsolute(base.d_width), | ||||
d_max.d_y.asAbsolute(base.d_height) | ||||
); | ||||
} | ||||
Rect asAbsolute(const Size& base) const | Rect asRelative(const Size& base) const | |||
{ | { | |||
return Rect( | return Rect( | |||
d_min.d_x.asAbsolute(base.d_width), | d_min.d_x.asRelative(base.d_width), | |||
d_min.d_y.asAbsolute(base.d_height), | d_min.d_y.asRelative(base.d_height), | |||
d_max.d_x.asAbsolute(base.d_width), | d_max.d_x.asRelative(base.d_width), | |||
d_max.d_y.asAbsolute(base.d_height) | d_max.d_y.asRelative(base.d_height) | |||
); | ); | |||
} | } | |||
Rect asRelative(const Size& base) const | const UVector2& getPosition() const | |||
{ | { | |||
return Rect( | return d_min; | |||
d_min.d_x.asRelative(base.d_width), | } | |||
d_min.d_y.asRelative(base.d_height), | UVector2 getSize() const | |||
d_max.d_x.asRelative(base.d_width), | { | |||
d_max.d_y.asRelative(base.d_height) | return d_max - d_min; | |||
); | } | |||
} | UDim getWidth() const | |||
{ | ||||
return d_max.d_x - d_min.d_x; | ||||
} | ||||
UDim getHeight() const | ||||
{ | ||||
return d_max.d_y - d_min.d_y; | ||||
} | ||||
const UVector2& getPosition() const { return d_min; } | void setPosition(const UVector2& pos) | |||
UVector2 getSize() const { return d_max - d_min; } | { | |||
UDim getWidth() const { return d_max.d_x - d_min. | UVector2 sz(d_max - d_min); | |||
d_x; } | d_min = pos; | |||
UDim getHeight() const { return d_max.d_y - d_min. | d_max = d_min + sz; | |||
d_y; } | } | |||
void setPosition(const UVector2& pos) | void setSize(const UVector2& sz) | |||
{ | { | |||
UVector2 sz(d_max - d_min); | d_max = d_min + sz; | |||
d_min = pos; | } | |||
d_max = d_min + sz; | ||||
} | ||||
void setSize(const UVector2& sz) | void setWidth(const UDim& w) | |||
{ | { | |||
d_max = d_min + sz; | d_max.d_x = d_min.d_x + w; | |||
} | } | |||
void setHeight(const UDim& h) | ||||
{ | ||||
d_max.d_y = d_min.d_y + h; | ||||
} | ||||
void setWidth(const UDim& w) { d_max.d_x = d_min.d_x + w; } | void offset(const UVector2& sz) | |||
void setHeight(const UDim& h) { d_max.d_y = d_min.d_y + h; } | { | |||
d_min += sz; | ||||
d_max += sz; | ||||
} | ||||
void offset(const UVector2& sz) | URect operator*(const UDim& dim) const | |||
{ | { | |||
d_min += sz; | return URect(d_min * dim, d_max * dim); | |||
d_max += sz; | } | |||
} | ||||
UVector2 d_min, d_max; | URect operator+(const URect& r) const | |||
}; | { | |||
return URect(d_min + r.d_min, d_max + r.d_max); | ||||
} | ||||
UVector2 d_min, d_max; | ||||
}; | ||||
/*! | ||||
\brief | ||||
Class encapsulating the 'Unified Box' - this is usually used for margin | ||||
\par | ||||
top, left, right and bottom represent offsets on each edge | ||||
\note | ||||
Name taken from W3 'box model' | ||||
*/ | ||||
class CEGUIEXPORT UBox | ||||
{ | ||||
public: | ||||
UBox(): | ||||
d_top(), | ||||
d_left(), | ||||
d_bottom(), | ||||
d_right() | ||||
{} | ||||
UBox(const UDim& margin): | ||||
d_top(margin), | ||||
d_left(margin), | ||||
d_bottom(margin), | ||||
d_right(margin) | ||||
{} | ||||
UBox(const UDim& top, const UDim& left, const UDim& bottom, const UDim& | ||||
right): | ||||
d_top(top), | ||||
d_left(left), | ||||
d_bottom(bottom), | ||||
d_right(right) | ||||
{} | ||||
UBox(const UBox& b): | ||||
d_top(b.d_top), | ||||
d_left(b.d_left), | ||||
d_bottom(b.d_bottom), | ||||
d_right(b.d_right) | ||||
{} | ||||
/********************************************************************** | ||||
*** | ||||
Operators | ||||
*********************************************************************** | ||||
**/ | ||||
bool operator==(const UBox& rhs) const | ||||
{ | ||||
return ((d_top == rhs.d_top) && | ||||
(d_left == rhs.d_left) && | ||||
(d_bottom == rhs.d_bottom) && | ||||
(d_right == rhs.d_right)); | ||||
} | ||||
bool operator!=(const UBox& rhs) const | ||||
{ | ||||
return !operator==(rhs); | ||||
} | ||||
UBox& operator=(const UBox& rhs) | ||||
{ | ||||
d_top = rhs.d_top; | ||||
d_left = rhs.d_left; | ||||
d_bottom = rhs.d_bottom; | ||||
d_right = rhs.d_right; | ||||
return *this; | ||||
} | ||||
UBox operator*(const UDim& dim) const | ||||
{ | ||||
return UBox( | ||||
d_top * dim, d_left * dim, | ||||
d_bottom * dim, d_right * dim); | ||||
} | ||||
UBox operator+(const UBox& b) const | ||||
{ | ||||
return UBox( | ||||
d_top + b.d_top, d_left + b.d_left, | ||||
d_bottom + b.d_bottom, d_right + b.d_right); | ||||
} | ||||
/********************************************************************** | ||||
*** | ||||
Data Fields | ||||
*********************************************************************** | ||||
**/ | ||||
UDim d_top; | ||||
UDim d_left; | ||||
UDim d_bottom; | ||||
UDim d_right; | ||||
}; | ||||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIUDim_h_ | #endif // end of guard _CEGUIUDim_h_ | |||
End of changes. 29 change blocks. | ||||
169 lines changed or deleted | 374 lines changed or added | |||
CEGUIVector.h | CEGUIVector.h | |||
---|---|---|---|---|
skipping to change at line 49 | skipping to change at line 49 | |||
/*! | /*! | |||
\brief | \brief | |||
Class used as a two dimensional vector (aka a Point) | Class used as a two dimensional vector (aka a Point) | |||
*/ | */ | |||
class CEGUIEXPORT Vector2 | class CEGUIEXPORT Vector2 | |||
{ | { | |||
public: | public: | |||
Vector2(void) {} | Vector2(void) {} | |||
Vector2(float x, float y) : d_x(x), d_y(y) {} | Vector2(float x, float y) : d_x(x), d_y(y) {} | |||
Vector2(const Vector2& v) : d_x(v.d_x), d_y(v.d_y) {} | ||||
Vector2& operator*=(const Vector2& vec) | Vector2& operator*=(const Vector2& vec) | |||
{ | { | |||
d_x *= vec.d_x; | d_x *= vec.d_x; | |||
d_y *= vec.d_y; | d_y *= vec.d_y; | |||
return *this; | return *this; | |||
} | } | |||
Vector2& operator/=(const Vector2& vec) | Vector2& operator/=(const Vector2& vec) | |||
skipping to change at line 97 | skipping to change at line 98 | |||
Vector2 operator-(const Vector2& vec) const | Vector2 operator-(const Vector2& vec) const | |||
{ | { | |||
return Vector2(d_x - vec.d_x, d_y - vec.d_y); | return Vector2(d_x - vec.d_x, d_y - vec.d_y); | |||
} | } | |||
Vector2 operator*(const Vector2& vec) const | Vector2 operator*(const Vector2& vec) const | |||
{ | { | |||
return Vector2(d_x * vec.d_x, d_y * vec.d_y); | return Vector2(d_x * vec.d_x, d_y * vec.d_y); | |||
} | } | |||
Vector2 operator*(float c) const | ||||
{ | ||||
return Vector2(d_x * c, d_y * c); | ||||
} | ||||
bool operator==(const Vector2& vec) const | bool operator==(const Vector2& vec) const | |||
{ | { | |||
return ((d_x == vec.d_x) && (d_y == vec.d_y)); | return ((d_x == vec.d_x) && (d_y == vec.d_y)); | |||
} | } | |||
bool operator!=(const Vector2& vec) const | bool operator!=(const Vector2& vec) const | |||
{ | { | |||
return !(operator==(vec)); | return !(operator==(vec)); | |||
} | } | |||
skipping to change at line 127 | skipping to change at line 133 | |||
/*! | /*! | |||
\brief | \brief | |||
Class used as a three dimensional vector | Class used as a three dimensional vector | |||
*/ | */ | |||
class CEGUIEXPORT Vector3 | class CEGUIEXPORT Vector3 | |||
{ | { | |||
public: | public: | |||
Vector3(void) {} | Vector3(void) {} | |||
Vector3(float x, float y, float z) : d_x(x), d_y(y), d_z(z) {} | Vector3(float x, float y, float z) : d_x(x), d_y(y), d_z(z) {} | |||
Vector3(const Vector3& v) : d_x(v.d_x), d_y(v.d_y), d_z(v.d_z) {} | ||||
bool operator==(const Vector3& vec) const | bool operator==(const Vector3& vec) const | |||
{ | { | |||
return ((d_x == vec.d_x) && (d_y == vec.d_y) && (d_z == vec.d_z)); | return ((d_x == vec.d_x) && (d_y == vec.d_y) && (d_z == vec.d_z)); | |||
} | } | |||
bool operator!=(const Vector3& vec) const | bool operator!=(const Vector3& vec) const | |||
{ | { | |||
return !(operator==(vec)); | return !(operator==(vec)); | |||
} | } | |||
Vector3 operator*(float c) const | ||||
{ | ||||
return Vector3(d_x * c, d_y * c, d_z * c); | ||||
} | ||||
Vector3 operator+(const Vector3& v) const | ||||
{ | ||||
return Vector3(d_x + v.d_x, d_y + v.d_y, d_z + v.d_z); | ||||
} | ||||
float d_x, d_y, d_z; | float d_x, d_y, d_z; | |||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIVector_h_ | #endif // end of guard _CEGUIVector_h_ | |||
End of changes. 4 change blocks. | ||||
0 lines changed or deleted | 17 lines changed or added | |||
CEGUIVersion.h | CEGUIVersion.h | |||
---|---|---|---|---|
skipping to change at line 42 | skipping to change at line 42 | |||
*************************************************************************/ | *************************************************************************/ | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
#ifndef _CEGUIVersion_h_ | #ifndef _CEGUIVersion_h_ | |||
#define _CEGUIVersion_h_ | #define _CEGUIVersion_h_ | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
// Define CEGUI version | // Define CEGUI version | |||
////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////// | |||
#define CEGUI_VERSION_MAJOR 0 | #define CEGUI_VERSION_MAJOR 0 | |||
#define CEGUI_VERSION_MINOR 7 | #define CEGUI_VERSION_MINOR 7 | |||
#define CEGUI_VERSION_PATCH 1 | #define CEGUI_VERSION_PATCH 2 | |||
#endif // end of guard _CEGUIVersion_h_ | #endif // end of guard _CEGUIVersion_h_ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
CEGUIWidgetModule.h | CEGUIWidgetModule.h | |||
---|---|---|---|---|
skipping to change at line 95 | skipping to change at line 95 | |||
while (entry->d_name)\ | while (entry->d_name)\ | |||
{\ | {\ | |||
if (entry->d_name == type_name)\ | if (entry->d_name == type_name)\ | |||
{\ | {\ | |||
doSafeFactoryRegistration(entry->d_factory);\ | doSafeFactoryRegistration(entry->d_factory);\ | |||
return;\ | return;\ | |||
}\ | }\ | |||
++entry;\ | ++entry;\ | |||
}\ | }\ | |||
\ | \ | |||
throw CEGUI::UnknownObjectException("::registerFactory - The window fac tory for type '" + type_name + "' is not known in this module.");\ | CEGUI_THROW(CEGUI::UnknownObjectException("::registerFactory - The wind ow factory for type '" + type_name + "' is not known in this module."));\ | |||
}\ | }\ | |||
\ | \ | |||
extern "C" CEGUI::uint registerAllFactories(void)\ | extern "C" CEGUI::uint registerAllFactories(void)\ | |||
{\ | {\ | |||
CEGUI::uint count = 0;\ | CEGUI::uint count = 0;\ | |||
module ## MapEntry* entry = module ## FactoriesMap;\ | module ## MapEntry* entry = module ## FactoriesMap;\ | |||
while (entry->d_name)\ | while (entry->d_name)\ | |||
{\ | {\ | |||
doSafeFactoryRegistration(entry->d_factory);\ | doSafeFactoryRegistration(entry->d_factory);\ | |||
++entry;\ | ++entry;\ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
CEGUIWindow.h | CEGUIWindow.h | |||
---|---|---|---|---|
skipping to change at line 107 | skipping to change at line 107 | |||
HA_CENTRE, | HA_CENTRE, | |||
/** | /** | |||
* Window's position specifies an offset of it's right edge from the ri ght | * Window's position specifies an offset of it's right edge from the ri ght | |||
* edge of it's parent. | * edge of it's parent. | |||
*/ | */ | |||
HA_RIGHT | HA_RIGHT | |||
}; | }; | |||
/*! | /*! | |||
\brief | \brief | |||
Enumerated type used for specifying Window::update mode to be used. No | ||||
te | ||||
that the setting specified will also have an effect on child window | ||||
content; for WUM_NEVER and WUM_VISIBLE, if the parent's update function | ||||
is | ||||
not called, then no child window will have it's update function called | ||||
either - even if it specifies WUM_ALWAYS as it's WindowUpdateMode. | ||||
*/ | ||||
enum WindowUpdateMode | ||||
{ | ||||
//! Always call the Window::update function for this window. | ||||
WUM_ALWAYS, | ||||
//! Never call the Window::update function for this window. | ||||
WUM_NEVER, | ||||
//! Only call the Window::update function for this window if it is visi | ||||
ble. | ||||
WUM_VISIBLE | ||||
}; | ||||
/*! | ||||
\brief | ||||
An abstract base class providing common functionality and specifying th e | An abstract base class providing common functionality and specifying th e | |||
required interface for derived classes. | required interface for derived classes. | |||
The Window base class is core UI object class that the the system knows | The Window base class is core UI object class that the the system knows | |||
about; for this reason, every other window, widget, or similar item wit hin | about; for this reason, every other window, widget, or similar item wit hin | |||
the system must be derived from Window. | the system must be derived from Window. | |||
The base class provides the common functionality required by all UI obj ects, | The base class provides the common functionality required by all UI obj ects, | |||
and specifies the minimal interface required to be implemented by deriv ed | and specifies the minimal interface required to be implemented by deriv ed | |||
classes. | classes. | |||
skipping to change at line 128 | skipping to change at line 146 | |||
class CEGUIEXPORT Window : public PropertySet, public EventSet | class CEGUIEXPORT Window : public PropertySet, public EventSet | |||
{ | { | |||
public: | public: | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Event name constants | Event name constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
//! Namespace for global events | //! Namespace for global events | |||
static const String EventNamespace; | static const String EventNamespace; | |||
// generated internally by Window | // generated internally by Window | |||
//! Signal the time based update of window. | /** Event fired as part of the time based update of the window. | |||
* Handlers are passed a const UpdateEventArgs reference. | ||||
*/ | ||||
static const String EventWindowUpdated; | static const String EventWindowUpdated; | |||
//! Parent of this Window has been re-sized. | /** Event fired when the parent of this Window has been re-sized. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window pointing to the <em>parent window</em> that | ||||
* was resized, not the window whose parent was resized. | ||||
*/ | ||||
static const String EventParentSized; | static const String EventParentSized; | |||
//! Window size has changed | /** Event fired when the Window size has changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose size was changed. | ||||
*/ | ||||
static const String EventSized; | static const String EventSized; | |||
//! Window position has changed | /** Event fired when the Window position has changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose position was changed | ||||
. | ||||
*/ | ||||
static const String EventMoved; | static const String EventMoved; | |||
//! Text string for the Window has changed | /** Event fired when the text string for the Window has changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose text was changed. | ||||
*/ | ||||
static const String EventTextChanged; | static const String EventTextChanged; | |||
//!Font object for the Window has been changed | /** Event fired when the Font object for the Window has been changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose font was changed. | ||||
*/ | ||||
static const String EventFontChanged; | static const String EventFontChanged; | |||
//! Alpha blend value for the Window has changed | /** Event fired when the Alpha blend value for the Window has changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose alpha value was chan | ||||
ged. | ||||
*/ | ||||
static const String EventAlphaChanged; | static const String EventAlphaChanged; | |||
//! Client assigned ID code for the Window has changed | /** Event fired when the client assigned ID for the Window has changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose ID was changed. | ||||
*/ | ||||
static const String EventIDChanged; | static const String EventIDChanged; | |||
//! Window has been activated (has input focus) | /** Event fired when the Window has been activated and has input focus. | |||
* Handlers are passed a const ActivationEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that is gaining activation | ||||
and | ||||
* ActivationEventArgs::otherWindow set to the Window that is losing | ||||
* activation (may be 0). | ||||
*/ | ||||
static const String EventActivated; | static const String EventActivated; | |||
//! Window has been deactivated (loses input focus) | /** Event fired when the Window has been deactivated, losing input focu | |||
s. | ||||
* Handlers are passed a const ActivationEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that is losing activation | ||||
and | ||||
* ActivationEventArgs::otherWindow set to the Window that is gaining | ||||
* activation (may be 0). | ||||
*/ | ||||
static const String EventDeactivated; | static const String EventDeactivated; | |||
//! Window has been made visible | /** Event fired when the Window is shown (made visible). | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that was shown. | ||||
*/ | ||||
static const String EventShown; | static const String EventShown; | |||
//! Window has been hidden from view | /** Event fired when the Window is made hidden. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that was hidden. | ||||
*/ | ||||
static const String EventHidden; | static const String EventHidden; | |||
//! Window has been enabled (interaction is possible) | /** Event fired when the Window is enabled so interaction is possible. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that was enabled. | ||||
*/ | ||||
static const String EventEnabled; | static const String EventEnabled; | |||
//! Window has been disabled (interaction is no longer possible) | /** Event fired when the Window is disabled and interaction is no longe | |||
r | ||||
* possible. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that was disabled. | ||||
*/ | ||||
static const String EventDisabled; | static const String EventDisabled; | |||
//! Clipping by parent mode has been modified | /** Event fired when the Window clipping mode is modified. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose clipping mode was | ||||
* changed. | ||||
*/ | ||||
static const String EventClippedByParentChanged; | static const String EventClippedByParentChanged; | |||
//! Destruction by parent mode has been modified | /** Event fired when the Window destruction mode is modified. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose destruction mode was | ||||
* changed. | ||||
*/ | ||||
static const String EventDestroyedByParentChanged; | static const String EventDestroyedByParentChanged; | |||
//! Alpha inherited from parent mode has been modified. | /** Event fired when the Window mode controlling inherited alpha is cha | |||
nged. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose alpha inheritence mo | ||||
de | ||||
* was changed. | ||||
*/ | ||||
static const String EventInheritsAlphaChanged; | static const String EventInheritsAlphaChanged; | |||
//! Always on top mode has been modified | /** Event fired when the always on top setting for the Window is change | |||
d. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose always on top settin | ||||
g | ||||
* was changed. | ||||
*/ | ||||
static const String EventAlwaysOnTopChanged; | static const String EventAlwaysOnTopChanged; | |||
//! Window has captured all inputs | /** Event fired when the Window gains capture of mouse inputs. | |||
* Handlers are passed a cont WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that has captured mouse in | ||||
puts. | ||||
*/ | ||||
static const String EventInputCaptureGained; | static const String EventInputCaptureGained; | |||
//! Window has lost it's capture on inputs | /** Event fired when the Window loses capture of mouse inputs. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to either: | ||||
* - the Window that has lost capture of mouse inputs if that event was | ||||
* caused by the window itself releasing the capture. | ||||
* - the Window that is @gaining capture of mouse inputs if that is the | ||||
* cause of the previous window with capture losing that capture. | ||||
*/ | ||||
static const String EventInputCaptureLost; | static const String EventInputCaptureLost; | |||
//! Rendering of the Window has started | /** Event fired when rendering of the Window has started. In this cont | |||
ext | ||||
* 'rendering' is the population of the GeometryBuffer with geometry fo | ||||
r the | ||||
* window, not the actual rendering of that GeometryBuffer content to t | ||||
he | ||||
* display. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose rendering has starte | ||||
d. | ||||
*/ | ||||
static const String EventRenderingStarted; | static const String EventRenderingStarted; | |||
//! Rendering for the Window has finished | /** Event fired when rendering of the Window has ended. In this contex | |||
t | ||||
* 'rendering' is the population of the GeometryBuffer with geometry fo | ||||
r the | ||||
* window, not the actual rendering of that GeometryBuffer content to t | ||||
he | ||||
* display. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose rendering has ended. | ||||
*/ | ||||
static const String EventRenderingEnded; | static const String EventRenderingEnded; | |||
//! A child Window has been added | /** Event fired when a child Window has been added. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the child window that was added. | ||||
*/ | ||||
static const String EventChildAdded; | static const String EventChildAdded; | |||
//! A child window has been removed | /** Event fired when a child window has been removed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the child window that was removed. | ||||
*/ | ||||
static const String EventChildRemoved; | static const String EventChildRemoved; | |||
//! Destruction of the Window is about to begin. | /** Event fired when destruction of the Window is about to begin. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that is about to be destro | ||||
yed. | ||||
*/ | ||||
static const String EventDestructionStarted; | static const String EventDestructionStarted; | |||
//! The z-order of the window has changed | /** Event fired when the z-order of the window has changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose z order position has | ||||
* changed. | ||||
*/ | ||||
static const String EventZOrderChanged; | static const String EventZOrderChanged; | |||
//! A DragContainer has been dragged over this window. | /** Event fired when a DragContainer is dragged in to the window's area | |||
. | ||||
* Handlers are passed a const DragDropEventArgs reference with | ||||
* WindowEventArgs::window set to the window over which a DragContainer | ||||
has | ||||
* been dragged (the receiving window) and DragDropEventArgs::dragDropI | ||||
tem | ||||
* set to the DragContainer that was dragged in to the receiving window | ||||
's | ||||
* area. | ||||
*/ | ||||
static const String EventDragDropItemEnters; | static const String EventDragDropItemEnters; | |||
//! A DragContainer has left this window. | /** Event fired when a DragContainer is dragged out of the window's are | |||
a. | ||||
* Handlers are passed a const DragDropEventArgs reference with | ||||
* WindowEventArgs::window set to the window over which a DragContainer | ||||
has | ||||
* been dragged out of (the receiving window) and | ||||
* DragDropEventArgs::dragDropItem set to the DragContainer that was dr | ||||
agged | ||||
* out of the receiving window's area. | ||||
*/ | ||||
static const String EventDragDropItemLeaves; | static const String EventDragDropItemLeaves; | |||
//! A DragContainer was dropped on this Window. | /** Event fired when a DragContainer is dropped within the window's are | |||
a. | ||||
* Handlers are passed a const DragDropEventArgs reference with | ||||
* WindowEventArgs::window set to the window over which a DragContainer | ||||
was | ||||
* dropped (the receiving window) and DragDropEventArgs::dragDropItem s | ||||
et to | ||||
* the DragContainer that was dropped within the receiving window's are | ||||
a. | ||||
*/ | ||||
static const String EventDragDropItemDropped; | static const String EventDragDropItemDropped; | |||
//! The vertical alignment of the window has changed. | /** Event fired when the vertical alignment for the window is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the window whose vertical alignment | ||||
* setting was changed. | ||||
*/ | ||||
static const String EventVerticalAlignmentChanged; | static const String EventVerticalAlignmentChanged; | |||
//! The vertical alignment of the window has changed. | /** Event fired when the horizontal alignment for the window is changed | |||
. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the window whose horizontal alignment | ||||
* setting was changed. | ||||
*/ | ||||
static const String EventHorizontalAlignmentChanged; | static const String EventHorizontalAlignmentChanged; | |||
//! The a new window renderer was attached. | /** Event fired when a WindowRenderer object is attached to the window. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the window that had the WindowRendere | ||||
r | ||||
* attached to it. | ||||
*/ | ||||
static const String EventWindowRendererAttached; | static const String EventWindowRendererAttached; | |||
//! The currently assigned window renderer was detached. | /** Event fired when a WindowRenderer object is detached from the windo | |||
w. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the window that had the WindowRendere | ||||
r | ||||
* detached from it. | ||||
*/ | ||||
static const String EventWindowRendererDetached; | static const String EventWindowRendererDetached; | |||
//! Window rotation factor(s) changed | /** Event fired whrn the rotation factor(s) for the window are changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose rotation was changed | ||||
. | ||||
*/ | ||||
static const String EventRotated; | static const String EventRotated; | |||
//! Window non-client setting was changed | /** Event fired when the non-client setting for the Window is changed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose non-client setting w | ||||
as | ||||
* changed. | ||||
*/ | ||||
static const String EventNonClientChanged; | static const String EventNonClientChanged; | |||
//! Window text parsing setting was changed | /** Event fired when the Window's setting controlling parsing of it's t | |||
ext | ||||
* string is changed. | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose text parsing setting | ||||
was | ||||
* changed. | ||||
*/ | ||||
static const String EventTextParsingChanged; | static const String EventTextParsingChanged; | |||
/** Event fired when the Window's margin has changed (any of the four m | ||||
argins) | ||||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window whose margin was | ||||
* changed. | ||||
*/ | ||||
static const String EventMarginChanged; | ||||
// generated externally (inputs) | // generated externally (inputs) | |||
//! Mouse cursor has entered the Window. | /** Event fired when the mouse cursor has entered the Window's area. | |||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventMouseEntersArea; | ||||
/** Event fired when themouse cursor has left the Window's area. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventMouseLeavesArea; | ||||
/** Event fired when the mouse cursor enters the Window's area. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*\note This event is fired if - and only if - the mouse cursor is actu | ||||
ally | ||||
* over some part of this Window's surface area, and will not fire for | ||||
* example if the location of the mouse is over some child window (even | ||||
* though the mouse is technically also within the area of this Window) | ||||
. | ||||
* For an alternative version of this event see the | ||||
* Window::EventMouseEntersArea event. | ||||
*/ | ||||
static const String EventMouseEnters; | static const String EventMouseEnters; | |||
//! Mouse cursor has left the Window. | /** Event fired when the mouse cursor is no longer over the Window's su | |||
rface | ||||
* area. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*\note This event will fire whenever the mouse is no longer actually o | ||||
ver | ||||
* some part of this Window's surface area, for example if the mouse is | ||||
* moved over some child window (even though technically the mouse has | ||||
not | ||||
* actually 'left' this Window's area). For an alternative version of | ||||
this | ||||
* event see the Window::EventMouseLeavesArea event. | ||||
*/ | ||||
static const String EventMouseLeaves; | static const String EventMouseLeaves; | |||
//! Mouse cursor was moved within the area of the Window. | /** Event fired when the mouse cursor moves within the area of the Wind | |||
ow. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventMouseMove; | static const String EventMouseMove; | |||
//! Mouse wheel was scrolled within the Window. | /** Event fired when the mouse wheel is scrolled when the mouse cursor | |||
is | ||||
* within the Window's area. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventMouseWheel; | static const String EventMouseWheel; | |||
//! A mouse button was pressed down within the Window. | /** Event fired when a mouse button is pressed down within the Window. | |||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventMouseButtonDown; | static const String EventMouseButtonDown; | |||
//! A mouse button was released within the Window. | /** Event fired when a mouse button is released within the Window. | |||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventMouseButtonUp; | static const String EventMouseButtonUp; | |||
//! A mouse button was clicked (down then up) within the Window. | /** Event fired when a mouse button is clicked - that is, pressed down | |||
and | ||||
* released within a specific time interval - while the mouse cursor is | ||||
* within the Window's area. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventMouseClick; | static const String EventMouseClick; | |||
//! A mouse button was double-clicked within the Window. | /** Event fired when a mouse button is double-clicked while the mouse c | |||
ursor | ||||
* is within the Window's area. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventMouseDoubleClick; | static const String EventMouseDoubleClick; | |||
//! A mouse button was triple-clicked within the Window. | /** Event fired when a mouse button is triple-clicked while the mouse c | |||
ursor | ||||
* is within the Window's area. | ||||
* Handlers are passed a const MouseEventArgs reference with all fields | ||||
* valid. | ||||
*/ | ||||
static const String EventMouseTripleClick; | static const String EventMouseTripleClick; | |||
//! A key on the keyboard was pressed. | /** Event fired when a key on the keyboard was pressed down while the w | |||
indow | ||||
* had input focus. | ||||
* Handlers are passed a const KeyEventArgs reference with | ||||
* WindowEventArgs::window set to the Window receiving the key press, | ||||
* KeyEventArgs::scancode set to the Key::Scan value of the key that wa | ||||
s | ||||
* pressed, and KeyEventArgs::sysKeys set to the combination of ::Syste | ||||
mKey | ||||
* values active when the key was pressed. | ||||
*/ | ||||
static const String EventKeyDown; | static const String EventKeyDown; | |||
//! A key on the keyboard was released. | /** Event fired when a key on the keyboard was released while the windo | |||
w | ||||
* had input focus. | ||||
* Handlers are passed a const KeyEventArgs reference with | ||||
* WindowEventArgs::window set to the Window receiving the key release, | ||||
* KeyEventArgs::scancode set to the Key::Scan value of the key that wa | ||||
s | ||||
* released, and KeyEventArgs::sysKeys set to the combination of ::Syst | ||||
emKey | ||||
* values active when the key was released. | ||||
*/ | ||||
static const String EventKeyUp; | static const String EventKeyUp; | |||
//! A text character was typed on the keyboard. | /** Event fired when the Window receives a character key input event. | |||
* Handlers are passed a const KeyEventArgs reference with | ||||
* WindowEventArgs::window set to the Window receiving the character in | ||||
put, | ||||
* KeyEventArgs::codepoint set to the Unicode UTF32 / UCS-4 value for t | ||||
he | ||||
* input, and KeyEventArgs::sysKeys set to the combination of ::SystemK | ||||
ey | ||||
* values active when the character input was received. | ||||
*/ | ||||
static const String EventCharacterKey; | static const String EventCharacterKey; | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Child Widget name suffix constants | Child Widget name suffix constants | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
//! Widget name suffix for automatically created tooltip widgets. | //! Widget name suffix for automatically created tooltip widgets. | |||
static const String TooltipNameSuffix; | static const String TooltipNameSuffix; | |||
//! Something that all generated widgets will have in their names. | //! Something that all generated widgets will have in their names. | |||
static const String AutoWidgetNameSuffix; | static const String AutoWidgetNameSuffix; | |||
skipping to change at line 763 | skipping to change at line 1004 | |||
The area returned by this function may also be useful for certain | The area returned by this function may also be useful for certain | |||
calculations that require the clipped Window area as seen on the di splay | calculations that require the clipped Window area as seen on the di splay | |||
as opposed to what is used for rendering (since the actual renderin g | as opposed to what is used for rendering (since the actual renderin g | |||
clipper rects should not to be used if reliable results are desired ). | clipper rects should not to be used if reliable results are desired ). | |||
*/ | */ | |||
Rect getHitTestRect() const; | Rect getHitTestRect() const; | |||
/*! | /*! | |||
\brief | \brief | |||
Return a Rect that describes the area that is used to position | ||||
and - for scale values - size child content attached to this Window | ||||
. | ||||
By and large the area returned here will be the same as the unclipp | ||||
ed | ||||
inner rect (for client content) or the unclipped outer rect (for no | ||||
n | ||||
client content), although certain advanced uses will require | ||||
alternative Rects to be returned. | ||||
\note | ||||
The behaviour of this function is modified by overriding the | ||||
protected Window::getClientChildWindowContentArea_impl and/or | ||||
Window::getNonClientChildWindowContentArea_impl functions. | ||||
\param non_client | ||||
- true to return the non-client child content area. | ||||
- false to return the client child content area (default). | ||||
*/ | ||||
Rect getChildWindowContentArea(const bool non_client = false) const; | ||||
/*! | ||||
\brief | ||||
Return a Rect object that describes, unclipped, the inner rectangle for | Return a Rect object that describes, unclipped, the inner rectangle for | |||
this window. The inner rectangle is typically an area that exclude s | this window. The inner rectangle is typically an area that exclude s | |||
some frame or other rendering that should not be touched by subsequ ent | some frame or other rendering that should not be touched by subsequ ent | |||
rendering. | rendering. | |||
\return | \return | |||
Rect object that describes, in unclipped screen pixel co-ordinates, the | Rect object that describes, in unclipped screen pixel co-ordinates, the | |||
window object's inner rect area. | window object's inner rect area. | |||
\note | \note | |||
skipping to change at line 946 | skipping to change at line 1208 | |||
bool restoresOldCapture(void) const {return d_restoreOldCapture;} | bool restoresOldCapture(void) const {return d_restoreOldCapture;} | |||
/*! | /*! | |||
\brief | \brief | |||
Return whether z-order changes are enabled or disabled for this Win dow. | Return whether z-order changes are enabled or disabled for this Win dow. | |||
\note | \note | |||
This is distinguished from the is/setRiseOnClickEnabled setting in that | This is distinguished from the is/setRiseOnClickEnabled setting in that | |||
if rise on click is disabled it only affects the users ability to a ffect | if rise on click is disabled it only affects the users ability to a ffect | |||
the z order of the Window by clicking the mouse; is still possible to | the z order of the Window by clicking the mouse; is still possible to | |||
programatically alter the Window z-order by calling the moveToFront | programatically alter the Window z-order by calling the moveToFront | |||
or | , | |||
moveToBack member functions. Whereas if z ordering is disabled the | moveToBack, moveInFront and moveBehind member functions. Whereas i | |||
functions moveToFront and moveToBack are also precluded from affect | f z | |||
ing | ordering is disabled those functions are also precluded from affect | |||
ing | ||||
the Window z position. | the Window z position. | |||
\return | \return | |||
- true if z-order changes are enabled for this window. | - true if z-order changes are enabled for this window. | |||
moveToFront/moveToBack work normally as expected. | moveToFront, moveToBack, moveInFront and moveBehind work normally . | |||
- false: z-order changes are disabled for this window. | - false: z-order changes are disabled for this window. | |||
moveToFront/moveToBack are ignored for this window. | moveToFront, moveToBack, moveInFront and moveBehind are ignored. | |||
*/ | */ | |||
bool isZOrderingEnabled(void) const; | bool isZOrderingEnabled(void) const; | |||
/*! | /*! | |||
\brief | \brief | |||
Return whether this window will receive multi-click events or multi ple | Return whether this window will receive multi-click events or multi ple | |||
'down' events instead. | 'down' events instead. | |||
\return | \return | |||
- true if the Window will receive double-click and triple-click eve nts. | - true if the Window will receive double-click and triple-click eve nts. | |||
skipping to change at line 1079 | skipping to change at line 1341 | |||
/*! | /*! | |||
\brief | \brief | |||
Return whether this window will rise to the top of the z-order when | Return whether this window will rise to the top of the z-order when | |||
clicked with the left mouse button. | clicked with the left mouse button. | |||
\note | \note | |||
This is distinguished from the is/setZOrderingEnabled setting in th at | This is distinguished from the is/setZOrderingEnabled setting in th at | |||
if rise on click is disabled it only affects the users ability to a ffect | if rise on click is disabled it only affects the users ability to a ffect | |||
the z order of the Window by clicking the mouse; is still possible to | the z order of the Window by clicking the mouse; is still possible to | |||
programatically alter the Window z-order by calling the moveToFront | programatically alter the Window z-order by calling the moveToFront | |||
or | , | |||
moveToBack member functions. Whereas if z ordering is disabled the | moveToBack, moveInFront and moveBehind member functions. Whereas i | |||
functions moveToFront and moveToBack are also precluded from affect | f z | |||
ing | ordering is disabled those functions are also precluded from affect | |||
ing | ||||
the Window z position. | the Window z position. | |||
\return | \return | |||
- true if the window will come to the top of other windows when the left | - true if the window will come to the top of other windows when the left | |||
mouse button is pushed within its area. | mouse button is pushed within its area. | |||
- false if the window does not change z-order position when the lef t | - false if the window does not change z-order position when the lef t | |||
mouse button is pushed within its area. | mouse button is pushed within its area. | |||
*/ | */ | |||
bool isRiseOnClickEnabled(void) const { return d_riseOnClick; } | bool isRiseOnClickEnabled(void) const { return d_riseOnClick; } | |||
skipping to change at line 1748 | skipping to change at line 2010 | |||
all sibling always-on-top windows and the process repeated for al l | all sibling always-on-top windows and the process repeated for al l | |||
ancestors. | ancestors. | |||
\return | \return | |||
Nothing | Nothing | |||
*/ | */ | |||
void moveToBack(); | void moveToBack(); | |||
/*! | /*! | |||
\brief | \brief | |||
Move this window immediately above it's sibling \a window in the z | ||||
order. | ||||
No action will be taken under the following conditions: | ||||
- \a window is 0. | ||||
- \a window is not a sibling of this window. | ||||
- \a window and this window have different AlwaysOnTop settings. | ||||
- z ordering is disabled for this window. | ||||
\param window | ||||
The sibling window that this window will be moved in front of. | ||||
*/ | ||||
void moveInFront(const Window* const window); | ||||
/*! | ||||
\brief | ||||
Move this window immediately behind it's sibling \a window in the z | ||||
order. | ||||
No action will be taken under the following conditions: | ||||
- \a window is 0. | ||||
- \a window is not a sibling of this window. | ||||
- \a window and this window have different AlwaysOnTop settings. | ||||
- z ordering is disabled for this window. | ||||
\param window | ||||
The sibling window that this window will be moved behind. | ||||
*/ | ||||
void moveBehind(const Window* const window); | ||||
/*! | ||||
\brief | ||||
Captures input to this window | Captures input to this window | |||
\return | \return | |||
- true if input was successfully captured to this window. | - true if input was successfully captured to this window. | |||
- false if input could not be captured to this window | - false if input could not be captured to this window | |||
(maybe because the window is not active). | (maybe because the window is not active). | |||
*/ | */ | |||
bool captureInput(void); | bool captureInput(void); | |||
/*! | /*! | |||
skipping to change at line 1923 | skipping to change at line 2216 | |||
void setUserData(void* user_data) {d_userData = user_data;} | void setUserData(void* user_data) {d_userData = user_data;} | |||
/*! | /*! | |||
\brief | \brief | |||
Set whether z-order changes are enabled or disabled for this Window . | Set whether z-order changes are enabled or disabled for this Window . | |||
\note | \note | |||
This is distinguished from the is/setRiseOnClickEnabled setting in that | This is distinguished from the is/setRiseOnClickEnabled setting in that | |||
if rise on click is disabled it only affects the users ability to a ffect | if rise on click is disabled it only affects the users ability to a ffect | |||
the z order of the Window by clicking the mouse; is still possible to | the z order of the Window by clicking the mouse; is still possible to | |||
programatically alter the Window z-order by calling the moveToFront | programatically alter the Window z-order by calling the moveToFront | |||
or | , | |||
moveToBack member functions. Whereas if z ordering is disabled the | moveToBack, moveInFront and moveBehind member functions. Whereas i | |||
functions moveToFront and moveToBack are also precluded from affect | f z | |||
ing | ordering is disabled those functions are also precluded from affect | |||
ing | ||||
the Window z position. | the Window z position. | |||
\param setting | \param setting | |||
- true if z-order changes are enabled for this window. | - true if z-order changes are enabled for this window. | |||
moveToFront/moveToBack work normally as expected. | moveToFront, moveToBack, moveInFront and moveBehind work normally . | |||
- false: z-order changes are disabled for this window. | - false: z-order changes are disabled for this window. | |||
moveToFront/moveToBack are ignored for this window. | moveToFront, moveToBack, moveInFront and moveBehind are ignored. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void setZOrderingEnabled(bool setting); | void setZOrderingEnabled(bool setting); | |||
/*! | /*! | |||
\brief | \brief | |||
Set whether this window will receive multi-click events or multiple | Set whether this window will receive multi-click events or multiple | |||
'down' events instead. | 'down' events instead. | |||
skipping to change at line 2117 | skipping to change at line 2410 | |||
/*! | /*! | |||
\brief | \brief | |||
Set whether this window will rise to the top of the z-order when cl icked | Set whether this window will rise to the top of the z-order when cl icked | |||
with the left mouse button. | with the left mouse button. | |||
\note | \note | |||
This is distinguished from the is/setZOrderingEnabled setting in th at | This is distinguished from the is/setZOrderingEnabled setting in th at | |||
if rise on click is disabled it only affects the users ability to a ffect | if rise on click is disabled it only affects the users ability to a ffect | |||
the z order of the Window by clicking the mouse; is still possible to | the z order of the Window by clicking the mouse; is still possible to | |||
programatically alter the Window z-order by calling the moveToFront | programatically alter the Window z-order by calling the moveToFront | |||
or | , | |||
moveToBack member functions. Whereas if z ordering is disabled the | moveToBack, moveInFront and moveBehind member functions. Whereas i | |||
functions moveToFront and moveToBack are also precluded from affect | f z | |||
ing | ordering is disabled those functions are also precluded from affect | |||
ing | ||||
the Window z position. | the Window z position. | |||
\param setting | \param setting | |||
- true if the window should come to the top of other windows when t he | - true if the window should come to the top of other windows when t he | |||
left mouse button is pushed within its area. | left mouse button is pushed within its area. | |||
- false if the window should not change z-order position when the l eft | - false if the window should not change z-order position when the l eft | |||
mouse button is pushed within its area. | mouse button is pushed within its area. | |||
\return | \return | |||
Nothing. | Nothing. | |||
skipping to change at line 2849 | skipping to change at line 3142 | |||
RenderedStringParser* getCustomRenderedStringParser() const; | RenderedStringParser* getCustomRenderedStringParser() const; | |||
//! Set a custom RenderedStringParser, or 0 to remove an existing one. | //! Set a custom RenderedStringParser, or 0 to remove an existing one. | |||
void setCustomRenderedStringParser(RenderedStringParser* parser); | void setCustomRenderedStringParser(RenderedStringParser* parser); | |||
//! return the active RenderedStringParser to be used | //! return the active RenderedStringParser to be used | |||
virtual RenderedStringParser& getRenderedStringParser() const; | virtual RenderedStringParser& getRenderedStringParser() const; | |||
//! return whether text parsing is enabled for this window. | //! return whether text parsing is enabled for this window. | |||
bool isTextParsingEnabled() const; | bool isTextParsingEnabled() const; | |||
//! set whether text parsing is enabled for this window. | //! set whether text parsing is enabled for this window. | |||
void setTextParsingEnabled(const bool setting); | void setTextParsingEnabled(const bool setting); | |||
//! set margin | ||||
virtual void setMargin(const UBox& margin); | ||||
//! retrieves currently set margin | ||||
const UBox& getMargin() const; | ||||
//! return Vector2 \a pos after being fully unprojected for this Window . | //! return Vector2 \a pos after being fully unprojected for this Window . | |||
Vector2 getUnprojectedPosition(const Vector2& pos) const; | Vector2 getUnprojectedPosition(const Vector2& pos) const; | |||
//! return the pointer to the BiDiVisualMapping for this window, if any . | //! return the pointer to the BiDiVisualMapping for this window, if any . | |||
const BiDiVisualMapping* getBiDiVisualMapping() const | const BiDiVisualMapping* getBiDiVisualMapping() const | |||
{return d_bidiVisualMapping;} | {return d_bidiVisualMapping;} | |||
//! Add the named property to the XML ban list for this window. | ||||
void banPropertyFromXML(const String& property_name); | ||||
//! Remove the named property from the XML ban list for this window. | ||||
void unbanPropertyFromXML(const String& property_name); | ||||
//! Return whether the named property is banned from XML | ||||
bool isPropertyBannedFromXML(const String& property_name) const; | ||||
//! Add the given property to the XML ban list for this window. | ||||
void banPropertyFromXML(const Property* property); | ||||
//! Remove the given property from the XML ban list for this window. | ||||
void unbanPropertyFromXML(const Property* property); | ||||
//! Return whether the given property is banned from XML | ||||
bool isPropertyBannedFromXML(const Property* property) const; | ||||
/*! | ||||
\brief | ||||
Set the window update mode. This mode controls the behaviour of th | ||||
e | ||||
Window::update member function such that updates are processed for | ||||
this window (and therefore it's child content) according to the set | ||||
mode. | ||||
\note | ||||
Disabling updates can have negative effects on the behaviour of CEG | ||||
UI | ||||
windows and widgets; updates should be disabled selectively and | ||||
cautiously - if you are unsure of what you are doing, leave the mod | ||||
e | ||||
set to WUM_ALWAYS. | ||||
\param mode | ||||
One of the WindowUpdateMode enumerated values indicating the mode t | ||||
o | ||||
set for this Window. | ||||
*/ | ||||
void setUpdateMode(const WindowUpdateMode mode); | ||||
/*! | ||||
\brief | ||||
Return the current window update mode that is set for this Window. | ||||
This mode controls the behaviour of the Window::update member funct | ||||
ion | ||||
such that updates are processed for this window (and therefore it's | ||||
child content) according to the set mode. | ||||
\note | ||||
Disabling updates can have negative effects on the behaviour of CEG | ||||
UI | ||||
windows and widgets; updates should be disabled selectively and | ||||
cautiously - if you are unsure of what you are doing, leave the mod | ||||
e | ||||
set to WUM_ALWAYS. | ||||
\return | ||||
One of the WindowUpdateMode enumerated values indicating the curren | ||||
t | ||||
mode set for this Window. | ||||
*/ | ||||
WindowUpdateMode getUpdateMode() const; | ||||
/*! | ||||
\brief | ||||
Set whether mouse input that is not directly handled by this Window | ||||
(including it's event subscribers) should be propagated back to the | ||||
Window's parent. | ||||
\param enabled | ||||
- true if unhandled mouse input should be propagated to the parent. | ||||
- false if unhandled mouse input should not be propagated. | ||||
*/ | ||||
void setMouseInputPropagationEnabled(const bool enabled); | ||||
/*! | ||||
\brief | ||||
Return whether mouse input that is not directly handled by this Win | ||||
dow | ||||
(including it's event subscribers) should be propagated back to the | ||||
Window's parent. | ||||
\return | ||||
- true if unhandled mouse input will be propagated to the parent. | ||||
- false if unhandled mouse input will not be propagated. | ||||
*/ | ||||
bool isMouseInputPropagationEnabled() const; | ||||
protected: | protected: | |||
// friend classes for construction / initialisation purposes (for now) | // friend classes for construction / initialisation purposes (for now) | |||
friend class System; | friend class System; | |||
friend class WindowManager; | friend class WindowManager; | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Event trigger methods | Event trigger methods | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
/*! | /*! | |||
\brief | \brief | |||
skipping to change at line 3148 | skipping to change at line 3526 | |||
*/ | */ | |||
virtual void onChildRemoved(WindowEventArgs& e); | virtual void onChildRemoved(WindowEventArgs& e); | |||
/*! | /*! | |||
\brief | \brief | |||
Handler called when the mouse cursor has entered this window's area . | Handler called when the mouse cursor has entered this window's area . | |||
\param e | \param e | |||
MouseEventArgs object. All fields are valid. | MouseEventArgs object. All fields are valid. | |||
*/ | */ | |||
virtual void onMouseEnters(MouseEventArgs& e); | virtual void onMouseEntersArea(MouseEventArgs& e); | |||
/*! | /*! | |||
\brief | \brief | |||
Handler called when the mouse cursor has left this window's area. | Handler called when the mouse cursor has left this window's area. | |||
\param e | \param e | |||
MouseEventArgs object. All fields are valid. | MouseEventArgs object. All fields are valid. | |||
*/ | */ | |||
virtual void onMouseLeavesArea(MouseEventArgs& e); | ||||
/*! | ||||
\brief | ||||
Handler called when the mouse cursor has entered this window's area | ||||
and | ||||
is actually over some part of this windows surface and not, for | ||||
instance over a child window - even though technically in those cas | ||||
es | ||||
the mouse is also within this Window's area, the handler will not b | ||||
e | ||||
called. | ||||
\param e | ||||
MouseEventArgs object. All fields are valid. | ||||
\see | ||||
Window::onMouseEntersArea | ||||
*/ | ||||
virtual void onMouseEnters(MouseEventArgs& e); | ||||
/*! | ||||
\brief | ||||
Handler called when the mouse cursor is no longer over this window' | ||||
s | ||||
surface area. This will be called when the mouse is not over a par | ||||
t | ||||
of this Window's actual surface - even though technically the mouse | ||||
is | ||||
still within the Window's area, for example if the mouse moves over | ||||
a | ||||
child window. | ||||
\param e | ||||
MouseEventArgs object. All fields are valid. | ||||
\see | ||||
Window::onMouseLeavesArea | ||||
*/ | ||||
virtual void onMouseLeaves(MouseEventArgs& e); | virtual void onMouseLeaves(MouseEventArgs& e); | |||
/*! | /*! | |||
\brief | \brief | |||
Handler called when the mouse cursor has been moved within this win dow's | Handler called when the mouse cursor has been moved within this win dow's | |||
area. | area. | |||
\param e | \param e | |||
MouseEventArgs object. All fields are valid. | MouseEventArgs object. All fields are valid. | |||
*/ | */ | |||
skipping to change at line 3385 | skipping to change at line 3795 | |||
Handler called when the window's setting for whether text parsing i s | Handler called when the window's setting for whether text parsing i s | |||
enabled is changed. | enabled is changed. | |||
\param e | \param e | |||
WindowEventArgs object whose 'window' pointer field is set to the w indow | WindowEventArgs object whose 'window' pointer field is set to the w indow | |||
that triggered the event. For this event the trigger window is alw ays | that triggered the event. For this event the trigger window is alw ays | |||
'this'. | 'this'. | |||
*/ | */ | |||
virtual void onTextParsingChanged(WindowEventArgs& e); | virtual void onTextParsingChanged(WindowEventArgs& e); | |||
virtual void onMarginChanged(WindowEventArgs& e); | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Implementation Functions | Implementation Functions | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
/*! | /*! | |||
\brief | \brief | |||
Perform actual update processing for this Window. | Perform actual update processing for this Window. | |||
\param elapsed | \param elapsed | |||
float value indicating the number of seconds elapsed since the last | float value indicating the number of seconds elapsed since the last | |||
update call. | update call. | |||
skipping to change at line 3496 | skipping to change at line 3908 | |||
Function used in checking if a WindowRenderer is valid for this win dow. | Function used in checking if a WindowRenderer is valid for this win dow. | |||
\return | \return | |||
Returns true if the given WindowRenderer class name is valid for th is window. | Returns true if the given WindowRenderer class name is valid for th is window. | |||
False if not. | False if not. | |||
*/ | */ | |||
virtual bool validateWindowRenderer(const String& name) const; | virtual bool validateWindowRenderer(const String& name) const; | |||
/*! | /*! | |||
\brief | \brief | |||
Adds a property to the XML ban list | ||||
*/ | ||||
void banPropertyFromXML(const Property* property); | ||||
/*! | ||||
\brief | ||||
Returns whether a property is banned from XML | ||||
*/ | ||||
bool isPropertyBannedFromXML(const Property* property) const; | ||||
/*! | ||||
\brief | ||||
Returns whether a property is at it's default value. | Returns whether a property is at it's default value. | |||
This function is different from Property::isDefatult as it takes th e assigned look'n'feel | This function is different from Property::isDefatult as it takes th e assigned look'n'feel | |||
(if the is one) into account. | (if the is one) into account. | |||
*/ | */ | |||
bool isPropertyAtDefault(const Property* property) const; | bool isPropertyAtDefault(const Property* property) const; | |||
/*! | /*! | |||
\brief | \brief | |||
Recursively inform all children that the clipping has changed and s creen rects | Recursively inform all children that the clipping has changed and s creen rects | |||
needs to be recached. | needs to be recached. | |||
skipping to change at line 3677 | skipping to change at line 4077 | |||
bool isInnerRectSizeChanged() const; | bool isInnerRectSizeChanged() const; | |||
//! Default implementation of function to return Window outer rect area . | //! Default implementation of function to return Window outer rect area . | |||
virtual Rect getUnclippedOuterRect_impl() const; | virtual Rect getUnclippedOuterRect_impl() const; | |||
//! Default implementation of function to return Window outer clipper a rea. | //! Default implementation of function to return Window outer clipper a rea. | |||
virtual Rect getOuterRectClipper_impl() const; | virtual Rect getOuterRectClipper_impl() const; | |||
//! Default implementation of function to return Window inner clipper a rea. | //! Default implementation of function to return Window inner clipper a rea. | |||
virtual Rect getInnerRectClipper_impl() const; | virtual Rect getInnerRectClipper_impl() const; | |||
//! Default implementation of function to return Window hit-test area. | //! Default implementation of function to return Window hit-test area. | |||
virtual Rect getHitTestRect_impl() const; | virtual Rect getHitTestRect_impl() const; | |||
//! Default implementation of function to return non-client content are | ||||
a | ||||
virtual Rect getNonClientChildWindowContentArea_impl() const; | ||||
//! Default implementation of function to return client content area | ||||
virtual Rect getClientChildWindowContentArea_impl() const; | ||||
virtual int writePropertiesXML(XMLSerializer& xml_stream) const; | virtual int writePropertiesXML(XMLSerializer& xml_stream) const; | |||
virtual int writeChildWindowsXML(XMLSerializer& xml_stream) const; | virtual int writeChildWindowsXML(XMLSerializer& xml_stream) const; | |||
virtual bool writeAutoChildWindowXML(XMLSerializer& xml_stream) const; | virtual bool writeAutoChildWindowXML(XMLSerializer& xml_stream) const; | |||
// constrain given UVector2 to window's min size, return if size change | ||||
d. | ||||
bool constrainUVector2ToMinSize(const Size& base_sz, UVector2& sz); | ||||
// constrain given UVector2 to window's max size, return if size change | ||||
d. | ||||
bool constrainUVector2ToMaxSize(const Size& base_sz, UVector2& sz); | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Properties for Window base class | Properties for Window base class | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static WindowProperties::Alpha d_alphaProperty; | static WindowProperties::Alpha d_alphaProperty; | |||
static WindowProperties::AlwaysOnTop d_alwaysOnTopProperty; | static WindowProperties::AlwaysOnTop d_alwaysOnTopProperty; | |||
static WindowProperties::ClippedByParent d_clippedByParentProperty; | static WindowProperties::ClippedByParent d_clippedByParentProperty; | |||
static WindowProperties::DestroyedByParent d_destroyedByParentProperty ; | static WindowProperties::DestroyedByParent d_destroyedByParentProperty ; | |||
static WindowProperties::Disabled d_disabledProperty; | static WindowProperties::Disabled d_disabledProperty; | |||
static WindowProperties::Font d_fontProperty; | static WindowProperties::Font d_fontProperty; | |||
static WindowProperties::ID d_IDProperty; | static WindowProperties::ID d_IDProperty; | |||
skipping to change at line 3729 | skipping to change at line 4138 | |||
static WindowProperties::WindowRenderer d_windowRendererProperty; | static WindowProperties::WindowRenderer d_windowRendererProperty; | |||
static WindowProperties::LookNFeel d_lookNFeelProperty; | static WindowProperties::LookNFeel d_lookNFeelProperty; | |||
static WindowProperties::DragDropTarget d_dragDropTargetProperty; | static WindowProperties::DragDropTarget d_dragDropTargetProperty; | |||
static WindowProperties::AutoRenderingSurface d_autoRenderingSurfacePr operty; | static WindowProperties::AutoRenderingSurface d_autoRenderingSurfacePr operty; | |||
static WindowProperties::Rotation d_rotationProperty; | static WindowProperties::Rotation d_rotationProperty; | |||
static WindowProperties::XRotation d_xRotationProperty; | static WindowProperties::XRotation d_xRotationProperty; | |||
static WindowProperties::YRotation d_yRotationProperty; | static WindowProperties::YRotation d_yRotationProperty; | |||
static WindowProperties::ZRotation d_zRotationProperty; | static WindowProperties::ZRotation d_zRotationProperty; | |||
static WindowProperties::NonClient d_nonClientProperty; | static WindowProperties::NonClient d_nonClientProperty; | |||
static WindowProperties::TextParsingEnabled d_textParsingEnabledProper ty; | static WindowProperties::TextParsingEnabled d_textParsingEnabledProper ty; | |||
static WindowProperties::Margin d_marginProperty; | ||||
static WindowProperties::UpdateMode d_updateModeProperty; | ||||
static WindowProperties::MouseInputPropagationEnabled d_mouseInputProp | ||||
agationProperty; | ||||
/********************************************************************** *** | /********************************************************************** *** | |||
Implementation Data | Implementation Data | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
//! definition of type used for the list of attached child windows. | //! definition of type used for the list of attached child windows. | |||
typedef std::vector<Window*> ChildList; | typedef std::vector<Window*> ChildList; | |||
//! definition of type used for the UserString dictionary. | //! definition of type used for the UserString dictionary. | |||
typedef std::map<String, String, String::FastLessCompare> UserStringMap ; | typedef std::map<String, String, String::FastLessCompare> UserStringMap ; | |||
//! definition of type used to track properties banned from writing XML . | //! definition of type used to track properties banned from writing XML . | |||
typedef std::set<String, String::FastLessCompare> BannedXMLPropertySet; | typedef std::set<String, String::FastLessCompare> BannedXMLPropertySet; | |||
skipping to change at line 3825 | skipping to change at line 4237 | |||
mutable bool d_renderedStringValid; | mutable bool d_renderedStringValid; | |||
//! Shared instance of a parser to be used in most instances. | //! Shared instance of a parser to be used in most instances. | |||
static BasicRenderedStringParser d_basicStringParser; | static BasicRenderedStringParser d_basicStringParser; | |||
//! Shared instance of a parser to be used when rendering text verbatim . | //! Shared instance of a parser to be used when rendering text verbatim . | |||
static DefaultRenderedStringParser d_defaultStringParser; | static DefaultRenderedStringParser d_defaultStringParser; | |||
//! Pointer to a custom (user assigned) RenderedStringParser object. | //! Pointer to a custom (user assigned) RenderedStringParser object. | |||
RenderedStringParser* d_customStringParser; | RenderedStringParser* d_customStringParser; | |||
//! true if use of parser other than d_defaultStringParser is enabled | //! true if use of parser other than d_defaultStringParser is enabled | |||
bool d_textParsingEnabled; | bool d_textParsingEnabled; | |||
//! Margin, only used when the Window is inside LayoutContainer clas | ||||
s | ||||
UBox d_margin; | ||||
//! User ID assigned to this Window | //! User ID assigned to this Window | |||
uint d_ID; | uint d_ID; | |||
//! Holds pointer to some user assigned data. | //! Holds pointer to some user assigned data. | |||
void* d_userData; | void* d_userData; | |||
//! Holds a collection of named user string values. | //! Holds a collection of named user string values. | |||
UserStringMap d_userStrings; | UserStringMap d_userStrings; | |||
//! true if Window will be drawn on top of all other Windows | //! true if Window will be drawn on top of all other Windows | |||
bool d_alwaysOnTop; | bool d_alwaysOnTop; | |||
//! whether window should rise in the z order when left clicked. | //! whether window should rise in the z order when left clicked. | |||
skipping to change at line 3905 | skipping to change at line 4320 | |||
mutable Rect d_innerRectClipper; | mutable Rect d_innerRectClipper; | |||
//! area rect used for hit-testing agains this window | //! area rect used for hit-testing agains this window | |||
mutable Rect d_hitTestRect; | mutable Rect d_hitTestRect; | |||
mutable bool d_outerUnclippedRectValid; | mutable bool d_outerUnclippedRectValid; | |||
mutable bool d_innerUnclippedRectValid; | mutable bool d_innerUnclippedRectValid; | |||
mutable bool d_outerRectClipperValid; | mutable bool d_outerRectClipperValid; | |||
mutable bool d_innerRectClipperValid; | mutable bool d_innerRectClipperValid; | |||
mutable bool d_hitTestRectValid; | mutable bool d_hitTestRectValid; | |||
//! The mode to use for calling Window::update | ||||
WindowUpdateMode d_updateMode; | ||||
//! specifies whether mouse inputs should be propagated to parent(s) | ||||
bool d_propagateMouseInputs; | ||||
private: | private: | |||
/********************************************************************** *** | /********************************************************************** *** | |||
May not copy or assign Window objects | May not copy or assign Window objects | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
Window(const Window&) : PropertySet(), EventSet() {} | Window(const Window&) : PropertySet(), EventSet() {} | |||
Window& operator=(const Window&) {return *this;} | Window& operator=(const Window&) {return *this;} | |||
}; | }; | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
End of changes. 71 change blocks. | ||||
85 lines changed or deleted | 596 lines changed or added | |||
CEGUIWindowFactoryManager.h | CEGUIWindowFactoryManager.h | |||
---|---|---|---|---|
skipping to change at line 72 | skipping to change at line 72 | |||
/*! | /*! | |||
\brief | \brief | |||
struct used to hold mapping information required to create a falaga rd based window. | struct used to hold mapping information required to create a falaga rd based window. | |||
*/ | */ | |||
struct CEGUIEXPORT FalagardWindowMapping | struct CEGUIEXPORT FalagardWindowMapping | |||
{ | { | |||
String d_windowType; | String d_windowType; | |||
String d_lookName; | String d_lookName; | |||
String d_baseType; | String d_baseType; | |||
String d_rendererType; | String d_rendererType; | |||
String d_effectName; | ||||
}; | }; | |||
/*! | /*! | |||
\brief | \brief | |||
Class used to track active alias targets for Window factory types. | Class used to track active alias targets for Window factory types. | |||
*/ | */ | |||
class CEGUIEXPORT AliasTargetStack | class CEGUIEXPORT AliasTargetStack | |||
{ | { | |||
public: | public: | |||
/*! | /*! | |||
skipping to change at line 312 | skipping to change at line 313 | |||
\param targetType | \param targetType | |||
The base window type. | The base window type. | |||
\param lookName | \param lookName | |||
The name of the 'look' that will be used by windows of this type. | The name of the 'look' that will be used by windows of this type. | |||
\param renderer | \param renderer | |||
The type of window renderer to assign for windows of this type. | The type of window renderer to assign for windows of this type. | |||
\param effectName | ||||
The identifier of the RenderEffect to attempt to set up for windows | ||||
of this type. | ||||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void addFalagardWindowMapping(const String& newType, const String& targ | void addFalagardWindowMapping(const String& newType, | |||
etType, const String& lookName, const String& renderer); | const String& targetType, | |||
const String& lookName, | ||||
const String& renderer, | ||||
const String& effectName = String("")); | ||||
/*! | /*! | |||
\brief | \brief | |||
Remove the specified falagard type mapping if it exists. | Remove the specified falagard type mapping if it exists. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void removeFalagardWindowMapping(const String& type); | void removeFalagardWindowMapping(const String& type); | |||
skipping to change at line 458 | skipping to change at line 466 | |||
// create the factory object | // create the factory object | |||
WindowFactory* factory = new T; | WindowFactory* factory = new T; | |||
// only do the actual add now if our singleton has already been created | // only do the actual add now if our singleton has already been created | |||
if (WindowFactoryManager::getSingletonPtr()) | if (WindowFactoryManager::getSingletonPtr()) | |||
{ | { | |||
Logger::getSingleton().logEvent("Created WindowFactory for '" + | Logger::getSingleton().logEvent("Created WindowFactory for '" + | |||
factory->getTypeName() + | factory->getTypeName() + | |||
"' windows."); | "' windows."); | |||
// add the factory we just created | // add the factory we just created | |||
try | CEGUI_TRY | |||
{ | { | |||
WindowFactoryManager::getSingleton().addFactory(factory); | WindowFactoryManager::getSingleton().addFactory(factory); | |||
} | } | |||
catch (Exception&) | CEGUI_CATCH (Exception&) | |||
{ | { | |||
Logger::getSingleton().logEvent("Deleted WindowFactory for '" + | Logger::getSingleton().logEvent("Deleted WindowFactory for '" + | |||
factory->getTypeName() + | factory->getTypeName() + | |||
"' windows."); | "' windows."); | |||
// delete the factory object | // delete the factory object | |||
delete factory; | delete factory; | |||
throw; | CEGUI_RETHROW; | |||
} | } | |||
} | } | |||
d_ownedFactories.push_back(factory); | d_ownedFactories.push_back(factory); | |||
} | } | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#if defined(_MSC_VER) | #if defined(_MSC_VER) | |||
# pragma warning(pop) | # pragma warning(pop) | |||
End of changes. 6 change blocks. | ||||
5 lines changed or deleted | 13 lines changed or added | |||
CEGUIWindowManager.h | CEGUIWindowManager.h | |||
---|---|---|---|---|
skipping to change at line 70 | skipping to change at line 70 | |||
class CEGUIEXPORT WindowManager : public Singleton <WindowManager>, | class CEGUIEXPORT WindowManager : public Singleton <WindowManager>, | |||
public EventSet | public EventSet | |||
{ | { | |||
public: | public: | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Public static data | Public static data | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
static const String GeneratedWindowNameBase; //!< Base name to use for generated window names. | static const String GeneratedWindowNameBase; //!< Base name to use for generated window names. | |||
//! Namespace for global events. | //! Namespace for global events. | |||
static const String EventNamespace; | static const String EventNamespace; | |||
//! Event fired when a new Window object is created. | /** Event fired when a new Window object is created. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that has just been created | ||||
. | ||||
*/ | ||||
static const String EventWindowCreated; | static const String EventWindowCreated; | |||
//! Event fired when a Window object is destroyed. | /** Event fired when a Window object is destroyed. | |||
* Handlers are passed a const WindowEventArgs reference with | ||||
* WindowEventArgs::window set to the Window that has been destroyed. | ||||
*/ | ||||
static const String EventWindowDestroyed; | static const String EventWindowDestroyed; | |||
/*! | /*! | |||
\brief | \brief | |||
Function type that is used as a callback when loading layout s from XML; the function is called | Function type that is used as a callback when loading layout s from XML; the function is called | |||
for each Property element encountered. | for each Property element encountered. | |||
\param window | \param window | |||
Window object that the property is to be applied to. | Window object that the property is to be applied to. | |||
skipping to change at line 305 | skipping to change at line 311 | |||
If the starting window has a parent window, specifies whether to wr ite the parent name into | If the starting window has a parent window, specifies whether to wr ite the parent name into | |||
the Parent attribute of the GUILayout XML element. | the Parent attribute of the GUILayout XML element. | |||
\return | \return | |||
Nothing. | Nothing. | |||
*/ | */ | |||
void writeWindowLayoutToStream(const String& window, OutStream& out_str eam, bool writeParent = false) const; | void writeWindowLayoutToStream(const String& window, OutStream& out_str eam, bool writeParent = false) const; | |||
/*! | /*! | |||
\brief | \brief | |||
Save a full XML window layout, starting at the given Window, to a f | ||||
ile | ||||
with the given file name. | ||||
\param window | ||||
String holding the name of the Window object to become the root of | ||||
the | ||||
layout. | ||||
\param filename | ||||
The name of the file to which the XML will be written. Note that t | ||||
his | ||||
does not use any part of the ResourceProvider system, but rather wi | ||||
ll | ||||
write directly to disk. If this is not desirable, you should prefe | ||||
r the | ||||
OutStream based writeWindowLayoutToStream functions. | ||||
\param writeParent | ||||
If the starting window has a parent window, specifies whether to wr | ||||
ite | ||||
the parent name into the Parent attribute of the GUILayout XML elem | ||||
ent. | ||||
*/ | ||||
void saveWindowLayout(const String& window, const String& filename, con | ||||
st bool writeParent = false) const; | ||||
/*! | ||||
\brief | ||||
Save a full XML window layout, starting at the given Window, to a f | ||||
ile | ||||
with the given file name. | ||||
\param window | ||||
Window object to become the root of the layout. | ||||
\param filename | ||||
The name of the file to which the XML will be written. Note that t | ||||
his | ||||
does not use any part of the ResourceProvider system, but rather wi | ||||
ll | ||||
write directly to disk. If this is not desirable, you should prefe | ||||
r the | ||||
OutStream based writeWindowLayoutToStream functions. | ||||
\param writeParent | ||||
If the starting window has a parent window, specifies whether to wr | ||||
ite | ||||
the parent name into the Parent attribute of the GUILayout XML elem | ||||
ent. | ||||
*/ | ||||
void saveWindowLayout(const Window& window, const String& filename, con | ||||
st bool writeParent = false) const; | ||||
/*! | ||||
\brief | ||||
Rename a window. | Rename a window. | |||
\param window | \param window | |||
String holding the current name of the window to be renamed. | String holding the current name of the window to be renamed. | |||
\param new_name | \param new_name | |||
String holding the new name for the window | String holding the new name for the window | |||
\exception UnknownObjectException | \exception UnknownObjectException | |||
thrown if \a window is not known in the system. | thrown if \a window is not known in the system. | |||
skipping to change at line 418 | skipping to change at line 465 | |||
private: | private: | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Implementation Methods | Implementation Methods | |||
*********************************************************************** **/ | *********************************************************************** **/ | |||
/*! | /*! | |||
\brief | \brief | |||
Implementation method to generate a unique name to use for a window . | Implementation method to generate a unique name to use for a window . | |||
*/ | */ | |||
String generateUniqueWindowName(); | String generateUniqueWindowName(); | |||
//! function to set up RenderEffect on a window | ||||
void initialiseRenderEffect(Window* wnd, const String& effect) const; | ||||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Implementation Constants | Implementation Constants | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
static const char GUILayoutSchemaName[]; //!< Filename of the XML schema used for validating GUILayout files. | static const char GUILayoutSchemaName[]; //!< Filename of the XML schema used for validating GUILayout files. | |||
/******************************************************************* ****** | /******************************************************************* ****** | |||
Implementation Data | Implementation Data | |||
******************************************************************** *****/ | ******************************************************************** *****/ | |||
typedef std::map<String, Window*, String::FastLessCompare> WindowRegistry; //!< Type used to imple ment registry of Window objects | typedef std::map<String, Window*, String::FastLessCompare> WindowRegistry; //!< Type used to imple ment registry of Window objects | |||
typedef std::vector<Window*> WindowVector; //!< Type to use for a collection of Window pointers. | typedef std::vector<Window*> WindowVector; //!< Type to use for a collection of Window pointers. | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 68 lines changed or added | |||
CEGUIWindowProperties.h | CEGUIWindowProperties.h | |||
---|---|---|---|---|
skipping to change at line 1227 | skipping to change at line 1227 | |||
"TextParsingEnabled", | "TextParsingEnabled", | |||
"Property to get/set the text parsing setting for the Window. " | "Property to get/set the text parsing setting for the Window. " | |||
"Value is either \"True\" or \"False\".", | "Value is either \"True\" or \"False\".", | |||
"True") | "True") | |||
{} | {} | |||
String get(const PropertyReceiver* receiver) const; | String get(const PropertyReceiver* receiver) const; | |||
void set(PropertyReceiver* receiver, const String& value); | void set(PropertyReceiver* receiver, const String& value); | |||
}; | }; | |||
/*! | ||||
\brief | ||||
Property to access window margin. | ||||
This property offers access to the margin property. This property contr | ||||
ols | ||||
the margins of the window when it's inserted into a layout container | ||||
. | ||||
When the window isn't in a layout container, margin doesn't have any | ||||
effect. | ||||
\par Usage: | ||||
- Name: Margin | ||||
- Format: "{top:{[tops],[topo]},left:{[lefts],[lefto]},bottom:{[bot | ||||
toms],[bottomo]},right:{[rights],[righto]}}". | ||||
\par Where [Text] is: | ||||
- [tops] is top scale | ||||
- [topo] is top offset | ||||
- [lefts] is left scale | ||||
- [lefto] is left offset | ||||
- [bottoms] is bottom scale | ||||
- [bottomo] is bottom offset | ||||
- [rights] is right scale | ||||
- [righto] is right offset | ||||
*/ | ||||
class Margin : public Property | ||||
{ | ||||
public: | ||||
Margin() : Property( | ||||
"Margin", | ||||
"Property to get/set margin for the Window. Value format:" | ||||
"{top:{[tops],[topo]},left:{[lefts],[lefto]},bottom:{[bottoms],[bot | ||||
tomo]},right:{[rights],[righto]}}.", | ||||
"{top:{0,0},left:{0,0},bottom:{0,0},right:{0,0}}") | ||||
{} | ||||
String get(const PropertyReceiver* receiver) const; | ||||
void set(PropertyReceiver* receiver, const String& value); | ||||
}; | ||||
/*! | ||||
\brief | ||||
Property to access the update mode setting for the window. | ||||
\par Usage: | ||||
- Name: UpdateMode | ||||
- Format: "[text]". | ||||
\par Where [Text] is: | ||||
- "Always" to indicate the update function should always be called. | ||||
- "Never" to indicate the update function should never be called. | ||||
- "Visible" to indicate the update function should only be called w | ||||
hen | ||||
the window is visible (i.e. State of Visible property set to True | ||||
). | ||||
*/ | ||||
class UpdateMode : public Property | ||||
{ | ||||
public: | ||||
UpdateMode() : Property( | ||||
"UpdateMode", | ||||
"Property to get/set the window update mode setting. " | ||||
"Value is one of \"Always\", \"Never\" or \"Visible\".", | ||||
"Visible") | ||||
{} | ||||
String get(const PropertyReceiver* receiver) const; | ||||
void set(PropertyReceiver* receiver, const String& value); | ||||
}; | ||||
/*! | ||||
\brief | ||||
Property to access the setting that controls whether mouse input not ha | ||||
ndled | ||||
directly by the window will be propagated back to the parent window. | ||||
\par Usage: | ||||
- Name: MouseInputPropagationEnabled | ||||
- Format: "[text]". | ||||
\par Where [Text] is: | ||||
- "True" to indicate that unhandled mouse input should be propagate | ||||
d to | ||||
the Window's parent. | ||||
- "False" to indicate that unhandled mouse input should not be | ||||
propagated to the window's parent. | ||||
*/ | ||||
class MouseInputPropagationEnabled : public Property | ||||
{ | ||||
public: | ||||
MouseInputPropagationEnabled() : Property( | ||||
"MouseInputPropagationEnabled", | ||||
"Property to get/set whether unhandled mouse inputs should be " | ||||
"propagated back to the Window's parent. " | ||||
"Value is either \"True\" or \"False\".", | ||||
"False") | ||||
{} | ||||
String get(const PropertyReceiver* receiver) const; | ||||
void set(PropertyReceiver* receiver, const String& value); | ||||
}; | ||||
} // End of WindowProperties namespace section | } // End of WindowProperties namespace section | |||
} // End of CEGUI namespace section | } // End of CEGUI namespace section | |||
#endif // end of guard _CEGUIWindowProperties_h_ | #endif // end of guard _CEGUIWindowProperties_h_ | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 103 lines changed or added | |||
CEGUIWindowRenderer.h | CEGUIWindowRenderer.h | |||
---|---|---|---|---|
skipping to change at line 36 | skipping to change at line 36 | |||
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | |||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | |||
* OTHER DEALINGS IN THE SOFTWARE. | * OTHER DEALINGS IN THE SOFTWARE. | |||
************************************************************************** */ | ************************************************************************** */ | |||
#ifndef _CEGUIWindowRenderer_h_ | #ifndef _CEGUIWindowRenderer_h_ | |||
#define _CEGUIWindowRenderer_h_ | #define _CEGUIWindowRenderer_h_ | |||
#include "CEGUIWindow.h" | #include "CEGUIWindow.h" | |||
#include "CEGUIProperty.h" | #include "CEGUIProperty.h" | |||
#include <vector> | #include <vector> | |||
#include <utility> | ||||
#if defined(_MSC_VER) | #if defined(_MSC_VER) | |||
# pragma warning(push) | # pragma warning(push) | |||
# pragma warning(disable : 4251) | # pragma warning(disable : 4251) | |||
#endif | #endif | |||
// Start of CEGUI namespace section | // Start of CEGUI namespace section | |||
namespace CEGUI | namespace CEGUI | |||
{ | { | |||
/*! | /*! | |||
skipping to change at line 147 | skipping to change at line 148 | |||
Implementation methods | Implementation methods | |||
*********************************************************************** ***/ | *********************************************************************** ***/ | |||
/*! | /*! | |||
\brief | \brief | |||
Register a property class that will be properly managed by this win dow | Register a property class that will be properly managed by this win dow | |||
renderer. | renderer. | |||
\param property | \param property | |||
Pointer to a static Property object that will be added to the targe t | Pointer to a static Property object that will be added to the targe t | |||
window. | window. | |||
\param ban_from_xml | ||||
- true if this property should be added to the 'ban' list so that i | ||||
t is | ||||
not written in XML output. | ||||
- false if this property is not banned and should appear in XML out | ||||
put. | ||||
*/ | ||||
void registerProperty(Property* property, const bool ban_from_xml); | ||||
/*! | ||||
\brief | ||||
Register a property class that will be properly managed by this win | ||||
dow | ||||
renderer. | ||||
\param property | ||||
Pointer to a static Property object that will be added to the targe | ||||
t | ||||
window. | ||||
*/ | */ | |||
void registerProperty(Property* property); | void registerProperty(Property* property); | |||
/*! | /*! | |||
\brief | \brief | |||
Handler called when this windowrenderer is attached to a window | Handler called when this windowrenderer is attached to a window | |||
*/ | */ | |||
virtual void onAttach(); | virtual void onAttach(); | |||
/*! | /*! | |||
skipping to change at line 183 | skipping to change at line 200 | |||
void operator=(const WindowRenderer&) {} | void operator=(const WindowRenderer&) {} | |||
/********************************************************************** *** | /********************************************************************** *** | |||
Implementation data | Implementation data | |||
*********************************************************************** ***/ | *********************************************************************** ***/ | |||
Window* d_window; //!< Pointer to the window this windowrenderer is assigned to. | Window* d_window; //!< Pointer to the window this windowrenderer is assigned to. | |||
const String d_name; //!< Name of the factory type used to create th is window renderer. | const String d_name; //!< Name of the factory type used to create th is window renderer. | |||
const String d_class; //!< Name of the widget class that is the "mini mum" requirement. | const String d_class; //!< Name of the widget class that is the "mini mum" requirement. | |||
typedef std::vector<Property*> PropertyList; | //! type used for entries in the PropertyList. | |||
typedef std::pair<Property*, bool> PropertyEntry; | ||||
//! type to use for the property list. | ||||
typedef std::vector<PropertyEntry> PropertyList; | ||||
PropertyList d_properties; //!< The list of properties that this windo wrenderer will be handling. | PropertyList d_properties; //!< The list of properties that this windo wrenderer will be handling. | |||
// Window is friend so it can manipulate our 'd_window' member directly . | // Window is friend so it can manipulate our 'd_window' member directly . | |||
// We don't want users fiddling with this so no public interface. | // We don't want users fiddling with this so no public interface. | |||
friend class Window; | friend class Window; | |||
}; | }; | |||
/*! | /*! | |||
\brief | \brief | |||
Base-class for WindowRendererFactory | Base-class for WindowRendererFactory | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 25 lines changed or added | |||
CEGUIWindowRendererManager.h | CEGUIWindowRendererManager.h | |||
---|---|---|---|---|
skipping to change at line 127 | skipping to change at line 127 | |||
// create the factory object | // create the factory object | |||
WindowRendererFactory* factory = new T; | WindowRendererFactory* factory = new T; | |||
// only do the actual add now if our singleton has already been created | // only do the actual add now if our singleton has already been created | |||
if (WindowRendererManager::getSingletonPtr()) | if (WindowRendererManager::getSingletonPtr()) | |||
{ | { | |||
Logger::getSingleton().logEvent("Created WindowRendererFactory for '" + | Logger::getSingleton().logEvent("Created WindowRendererFactory for '" + | |||
factory->getName() + | factory->getName() + | |||
"' WindowRenderers."); | "' WindowRenderers."); | |||
// add the factory we just created | // add the factory we just created | |||
try | CEGUI_TRY | |||
{ | { | |||
WindowRendererManager::getSingleton().addFactory(factory); | WindowRendererManager::getSingleton().addFactory(factory); | |||
} | } | |||
catch (Exception&) | CEGUI_CATCH (Exception&) | |||
{ | { | |||
Logger::getSingleton().logEvent("Deleted WindowRendererFactory for " | Logger::getSingleton().logEvent("Deleted WindowRendererFactory for " | |||
"'" + factory->getName() + | "'" + factory->getName() + | |||
"' WindowRenderers."); | "' WindowRenderers."); | |||
// delete the factory object | // delete the factory object | |||
delete factory; | delete factory; | |||
throw; | CEGUI_RETHROW; | |||
} | } | |||
} | } | |||
d_ownedFactories.push_back(factory); | d_ownedFactories.push_back(factory); | |||
} | } | |||
//------------------------------------------------------------------------- ---// | //------------------------------------------------------------------------- ---// | |||
} // End of CEGUI namespace | } // End of CEGUI namespace | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added | |||