Base class for streamable objects.
This class declares a generic interface which is used for Guiliani's streaming mechanism (see Streaming). Any object which is to be constructed via streaming has to be derived from this class. Derived classes implement the ReadFromStream and WriteToStream in such a way that they read/write all of the object's attributes from/to the data stream. When implementing the read/write methods take special care to the order in which the attributes are read/written, as this has to be identical in both methods.
virtual void CGUIStreamableObject::ReadFromStream |
( |
| ) |
|
|
inlinevirtual |
Reads attributes from the streaming file. Only for use with GUIFactoryManager.
- See also
- CGUIObject::ReadFromStream()
Reimplemented in CGUIAnimation, CGUIAnimationAttribute, CGUIAnimationBlinking, CGUIAnimationChain, CGUIAnimationMove, CGUIAnimationMoveInOut, CGUIAnimationSize, CGUIAnimationStdGUIObject, CGUIAnimationTrigger, CGUIAutoRepeatBehaviour, CGUICompositeBehaviour, CGUIConditionalBehaviour, CGUIHotkeysBehaviour, CGUIKeyboardBehaviour, CGUIMultiCmdBehaviour, CGUIObjectStateBehaviour, CGUIObjectVisualsBehaviour, CGUISingleCmdBehaviour, CGUITabSwitchBehaviour, CGUICallAPICmd, CGUICommand, CGUIDelayCmd, CGUILoadAnimationsCmd, CGUILoadDialogCmd, CGUIPlaybackSoundCmd, CGUIQuitCmd, CGUISetDataPoolCmd, CGUISetObjectStateCmd, CGUISetObjectVisualsCmd, CGUIStartAnimationChainCmd, CGUIStopAnimationChainCmd, CGUISwitchResourceSetsCmd, CGUITransitionCmd, CGUIAbstractBar, CGUIAnimatedImage, CGUIBaseButton, CGUIBaseCheckBox, CGUIBaseInputField, CGUIBaseMessageBox, CGUIBaseRadioButton, CGUIBaseSlider, CGUIBaseTextField, CGUIBlendButton, CGUIButton, CGUICalendar, CGUICarousel, CGUICenterFocusContainer, CGUIChart, CGUICheckBox, CGUICircularSlider, CGUIClock, CGUIComboBox, CGUIComboBoxHeader, CGUICompositeObject, CGUIEdit, CGUIEditableText, CGUIExpandingComposite, CGUIFragmentContainer, CGUIGauge, CGUIGeometryObject, CGUIGraph, CGUIGroupContainer, CGUIIconButton, CGUIImage, CGUIImageStack, CGUIInputField, CGUIKeyboard, CGUIKnob, CGUILayerContainer, CGUIListBox, CGUIListItem, CGUIObject, CGUIOnscreenKeyboard, CGUIPageContainer, CGUIPlot, CGUIPrimitiveButton, CGUIProgressBar, CGUIRadialBar, CGUIRadialProgressBar, CGUIRadialSlider, CGUIRadioButton, CGUIRadioButtonGroup, CGUIRangeSlider, CGUIRepositionCompositeObject, CGUIRichText, CGUIScrollBar, CGUIScrollingText, CGUIScrollingTextField, CGUIScrollView, CGUISegmentBar, CGUISlider, CGUISplitContainer, CGUITabClientArea, CGUITabItem, CGUITabContainer, CGUIText, CGUITextField, CGUITouchScrollView, CGUIVideo, CGUIWheel, CGUIWheelContainer, CGUIRange, CGUIValue, CGUIGroupLayouter, CGUILayouterAlignToParent, CGUILayouterAnchor, CGUILayouterGrid, CGUILayouterList, CGUILayouterPercentage, and CGUILayouterReposition.
virtual void CGUIStreamableObject::WriteToStream |
( |
const eC_Bool |
bWriteClassID = false | ) |
|
|
inlinevirtual |
Writes attributes to the streaming file. A CGUIStreamWriter has to be initialized.
- Parameters
-
bWriteClassID | This flag is used to switch writing of the class ID, leading and trailing tags. When implementing a new streamable object, check this flag. If it is true, first write the class ID, then continue with this object's attributes, and finally call the base class implementation with this flag set to false (this is the default). |
Reimplemented in CGUIGauge, CGUIAnimation, CGUIAnimationAttribute, CGUIAnimationBlinking, CGUIAnimationChain, CGUIAnimationMove, CGUIAnimationMoveInOut, CGUIAnimationSize, CGUIAnimationStdGUIObject, CGUIAnimationTrigger, CGUIAutoRepeatBehaviour, CGUICompositeBehaviour, CGUIConditionalBehaviour, CGUIHotkeysBehaviour, CGUIKeyboardBehaviour, CGUIMultiCmdBehaviour, CGUIObjectStateBehaviour, CGUIObjectVisualsBehaviour, CGUISingleCmdBehaviour, CGUITabSwitchBehaviour, CGUICallAPICmd, CGUICommand, CGUIDelayCmd, CGUILoadAnimationsCmd, CGUILoadDialogCmd, CGUIPlaybackSoundCmd, CGUIQuitCmd, CGUISetDataPoolCmd, CGUISetObjectStateCmd, CGUISetObjectVisualsCmd, CGUIStartAnimationChainCmd, CGUIStopAnimationChainCmd, CGUISwitchResourceSetsCmd, CGUITransitionCmd, CGUIAbstractBar, CGUIAnimatedImage, CGUIBaseButton, CGUIBaseCheckBox, CGUIBaseInputField, CGUIBaseMessageBox, CGUIBaseRadioButton, CGUIBaseSlider, CGUIBaseTextField, CGUIBlendButton, CGUIButton, CGUICalendar, CGUICarousel, CGUICenterFocusContainer, CGUIChart, CGUICheckBox, CGUICircularSlider, CGUIClock, CGUIComboBox, CGUIComboBoxHeader, CGUICompositeObject, CGUIEdit, CGUIExpandingComposite, CGUIFragmentContainer, CGUIGeometryObject, CGUIGraph, CGUIGroupContainer, CGUIIconButton, CGUIImage, CGUIImageStack, CGUIInputField, CGUIKeyboard, CGUIKnob, CGUILayerContainer, CGUIListBox, CGUIListItem, CGUIObject, CGUIOnscreenKeyboard, CGUIPageContainer, CGUIPlot, CGUIPrimitiveButton, CGUIProgressBar, CGUIRadialBar, CGUIRadialProgressBar, CGUIRadialSlider, CGUIRadioButton, CGUIRadioButtonGroup, CGUIRangeSlider, CGUIRepositionCompositeObject, CGUIScrollBar, CGUIScrollingTextField, CGUIScrollView, CGUISegmentBar, CGUISlider, CGUISplitContainer, CGUITabClientArea, CGUITabItem, CGUITabContainer, CGUITextField, CGUITouchScrollView, CGUIVideo, CGUIWheel, CGUIWheelContainer, CGUIRange, CGUIValue, CGUIGroupLayouter, CGUILayouterAlignToParent, CGUILayouterAnchor, CGUILayouterGrid, CGUILayouterList, CGUILayouterPercentage, CGUILayouterReposition, CGUIEditableText, CGUIRichText, CGUIScrollingText, and CGUIText.