Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUIImage.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef GUIIMAGE__H_
11#define GUIIMAGE__H_
12
13#include "GUIObject.h"
14#include "GUIImageResource.h"
15#include "GUINinePatch.h"
16
18// @guiliani_doxygen toplevel_control Image
29// @endguiliani_doxygen
57class CGUIImage :
58 public CGUIObject
59{
60public:
63 {
64 IBT_CENTER,
67 };
68
69public:
84 CGUICompositeObject* const pkParent,
85 const eC_Value& vX,
86 const eC_Value& vY,
87 const eC_Value& vWidth,
88 const eC_Value& vHeight,
89 const ImageResource_t& eImageID,
90 const eC_Bool& bStretchBlit = true,
91 const ObjectHandle_t& eID = NO_HANDLE);
92
104 CGUICompositeObject* const pkParent,
105 const CGUIRect &kRect,
106 const ImageResource_t& eImageID,
107 const eC_Bool& bStretchBlit = true,
108 const ObjectHandle_t& eID = NO_HANDLE);
109
120 CGUICompositeObject* const pkParent,
121 const eC_Value& vX,
122 const eC_Value& vY,
123 const ImageResource_t& eImageID,
124 const ObjectHandle_t& eID = NO_HANDLE);
125
129 CGUIImage(const CGUIImage& kSource);
130
135 CGUIImage& operator=(const CGUIImage& kSource);
136
141 ~CGUIImage();
142
143#ifdef GUILIANI_STREAM_GUI
144 virtual void ReadFromStream();
145#endif
146#ifdef GUILIANI_WRITE_GUI
147 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
148#endif
149
150 virtual eC_Bool DoDraw();
151
152 virtual eC_Bool IsHighlightable() const { return false; }
153
160 void SetImage(const ImageResource_t &eImage, const eC_Bool &bFitToImage = false);
161
167
171 void SetStretchBlit(eC_Bool bStretchBlit);
172
175 eC_Bool GetStretchBlit() const;
176
181
185 void SetBlitType(const BlitType_t& eBlitType);
186
191
192private:
197 void CopyAttributes(const CGUIImage& kSource);
198
200 void Init(
201 const ImageResource_t& eImageID,
202 const eC_Bool& bStretchBlit);
203
205 void DeInit();
206
207 ImageResource_t m_eImage;
208 CGUINinePatch m_kNinePatch;
209 BlitType_t m_eBlitType;
210};
211#endif
Helper Macros in Guiliani
ImageResource_t
Enumeration of image resource ids.
Definition: GUIImageResource.h:126
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
Displays a static image in the GUI.
Definition: GUIImage.h:59
CGUIImage(const CGUIImage &kSource)
eC_Bool GetStretchBlit() const
void SetImage(const ImageResource_t &eImage, const eC_Bool &bFitToImage=false)
virtual eC_Bool DoDraw()
CGUIImage(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const ImageResource_t &eImageID, const eC_Bool &bStretchBlit=true, const ObjectHandle_t &eID=NO_HANDLE)
BlitType_t GetBlitType() const
ImageResource_t GetImageID() const
void SetBlitType(const BlitType_t &eBlitType)
BlitType_t
enum for blitting-type
Definition: GUIImage.h:63
@ IBT_TILED
stretch image to fit
Definition: GUIImage.h:66
@ IBT_STRETCH
blit image in center
Definition: GUIImage.h:65
CGUIImage & operator=(const CGUIImage &kSource)
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
virtual eC_Bool IsHighlightable() const
Definition: GUIImage.h:152
CGUINinePatch & GetNinePatch()
CGUIImage(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ImageResource_t &eImageID, const eC_Bool &bStretchBlit=true, const ObjectHandle_t &eID=NO_HANDLE)
void SetStretchBlit(eC_Bool bStretchBlit)
CGUIImage(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const ImageResource_t &eImageID, const ObjectHandle_t &eID=NO_HANDLE)
virtual void ReadFromStream()
Helper class to for storing Nine-Patch images.
Definition: GUINinePatch.h:41
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63