NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
gl2d_latin1_texts_interface.h
Go to the documentation of this file.
1 #ifndef SDK_GL2D_LATIN1_TEXTS_INTERFACE_H_
11 #define SDK_GL2D_LATIN1_TEXTS_INTERFACE_H_
12 #pragma once
13 
14 #include <base/inc/platform.h>
15 #include <base/inc/base_types.h>
16 #include <base/inc/sdk_component_base.h>
19 #include <visualizationlayer/inc/vis_const.h>
20 
21 #include "gl2d_text_interface.h"
23 
24 SDK_GL2D_BEGIN_NAMESPACE
25 
28 
36 
39 
43 static const GL2DLatin1TextID kGL2DUndefinedLatin1TextID = kGL2DUndefinedTextID;
44 
48 {
49 };
50 
53 class IGL2DLatin1Texts : public ISDKProperties
54 {
55 public:
57  virtual void SDK_CALLTYPE Dump() const throw() = 0;
58 
60  virtual IGL2DCanvasSP SDK_CALLTYPE GetParent() const throw() = 0;
61 
64  virtual SDKUInt32 SDK_CALLTYPE GetMemSize() const throw() = 0;
68  virtual SDKUInt32 SDK_CALLTYPE GetActiveTextPositionsCount() const throw() = 0;
71  virtual SDKUInt32 SDK_CALLTYPE GetVertexCount() const throw() = 0;
72 
74  virtual IGL2DFontSP SDK_CALLTYPE GetFont() const throw() = 0;
76  inline GL2DFontID SDK_CALLTYPE GetFontID() const
77  {
78  const IGL2DFontSP font = GetFont();
79  return font ? font->GetID() : kGL2DUnknownFontID;
80  }
82  virtual float SDK_CALLTYPE GetFontSize() const throw() = 0;
84  virtual SDKColorF SDK_CALLTYPE GetColor() const throw() = 0;
86  virtual GL2DTextReadingDirection SDK_CALLTYPE GetReadingDirection() const throw()
87  { return kGL2DTextReadingDirection_LeftToRight; } // Left-to-right only
88 
90  virtual SDKUInt32 SDK_CALLTYPE GetTextsCount() const throw() = 0;
92  virtual GL2DLatin1TextID SDK_CALLTYPE Index2TextID(
93  const SDKUInt32& index) const throw() = 0;
94 
100  virtual SDKResult SDK_CALLTYPE StartEdit() throw() = 0;
102  virtual SDKResult SDK_CALLTYPE FinishEdit() throw() = 0;
104  virtual bool SDK_CALLTYPE IsEditing() const throw() = 0;
105 
107  virtual bool SDK_CALLTYPE IsLatin1Text(
108  const SDKString& text_string) const throw() = 0;
109 
113  virtual GL2DLatin1TextID SDK_CALLTYPE AddText(const SDKString& text_string,
114  const SDKPointF2D& text_position, const GL2DTextPivotPoint& pivot_point,
115  const SDKPointF2D& pivot_point_offset) throw() = 0;
116  inline GL2DLatin1TextID SDK_CALLTYPE AddText(
117  const SDKString& text_string, const SDKPointF2D& text_position)
118  {
119  const SDKPointF2D pivot_point_offset = { 0.0f, 0.0f };
120  return AddText(text_string, text_position,
121  kGL2DTextPivotPoint_Default, pivot_point_offset);
122  }
123 
126  virtual SDKResult SDK_CALLTYPE RemoveText(
127  const GL2DLatin1TextID& text_id) throw() = 0;
128 
131  virtual SDKResult SDK_CALLTYPE Toggle(
132  const GL2DLatin1TextID& text_id, const bool& visible) throw() = 0;
134  virtual SDKResult SDK_CALLTYPE Toggle(
135  const IGL2DTextsVisStateSP& texts_visibility_state) throw() = 0;
137  virtual SDKResult SDK_CALLTYPE IsVisible(
138  const GL2DLatin1TextID& text_id, bool& is_visible) const throw() = 0;
139 
141  virtual SDKResult SDK_CALLTYPE GetTextString(
142  const GL2DLatin1TextID& text_id, SDKString& text_string) const throw() = 0;
144  virtual SDKResult SDK_CALLTYPE GetPosition(
145  const GL2DLatin1TextID& text_id, SDKPointF2D& position) const throw() = 0;
147  virtual SDKResult SDK_CALLTYPE GetPivotPoint(
148  const GL2DLatin1TextID& text_id, GL2DTextPivotPoint& pivot_point) const throw() = 0;
150  virtual SDKResult SDK_CALLTYPE GetPivotPointOffset(
151  const GL2DLatin1TextID& text_id, SDKPointF2D& pivot_point_offset) const throw() = 0;
152 
153  SDK_IMPLEMENT_IID(IGL2DLatin1Texts)
154  SDK_END_INTERFACE(IGL2DLatin1Texts)
155 };
156 SDK_DECLARE_IID(IGL2DLatin1Texts)
157 
160 {
161 public:
162  AutoStartFinishLatin1TextsEdit(const IGL2DLatin1TextsSP& latin1_texts)
163  : m_latin1_texts(latin1_texts), m_started(false)
164  {
165  if (m_latin1_texts)
166  m_started = SDK_SUCCEEDED(m_latin1_texts->StartEdit());
167  }
168 
170  { if (m_started) m_latin1_texts->FinishEdit(); }
171 
172  inline bool IsEditing() const
173  { return m_latin1_texts ? m_latin1_texts->IsEditing() : false; }
174 
175 private:
176  const IGL2DLatin1TextsSP m_latin1_texts;
177  bool m_started;
178 };
179 
180 SDK_GL2D_END_NAMESPACE
181 
182 #endif // SDK_GL2D_LATIN1_TEXTS_INTERFACE_H_
IGL2DLatin1Texts::GetReadingDirection
virtual GL2DTextReadingDirection SDK_CALLTYPE GetReadingDirection() const
Returns reading direction, common for all of texts.
Definition: gl2d_latin1_texts_interface.h:86
SDKColorF
A RGBA color.
Definition: color_base_types.h:15
IGL2DLatin1Texts::GetMemSize
virtual SDKUInt32 SDK_CALLTYPE GetMemSize() const =0
Returns OpenGL memory size used for texts Statistics only - value refreshed after FinishEdit call.
IGL2DLatin1Texts::RemoveText
virtual SDKResult SDK_CALLTYPE RemoveText(const GL2DLatin1TextID &text_id)=0
Removes text from collection by it's ID StartEdit method should be called before calling this one.
IGL2DLatin1Texts::Index2TextID
virtual GL2DLatin1TextID SDK_CALLTYPE Index2TextID(const SDKUInt32 &index) const =0
Returns text ID by it's index.
base_types.h
SDK base types.
GL2DLatin1TextsPropertyIDs
GL2DLatin1TextsPropertyIDs
Generic GL2D Latin1 Texts properties.
Definition: gl2d_latin1_texts_interface.h:47
IGL2DLatin1Texts::FinishEdit
virtual SDKResult SDK_CALLTYPE FinishEdit()=0
Finishes previously started edit texts collection operation.
IGL2DLatin1Texts::IsVisible
virtual SDKResult SDK_CALLTYPE IsVisible(const GL2DLatin1TextID &text_id, bool &is_visible) const =0
Returns text position visibility state.
IGL2DLatin1Texts::GetFontSize
virtual float SDK_CALLTYPE GetFontSize() const =0
Returns font size, common for all of texts.
AutoStartFinishLatin1TextsEdit
Auto starts Latin1 texts collection editing in ctor, finishes in dtor.
Definition: gl2d_latin1_texts_interface.h:159
IGL2DLatin1Texts::IsLatin1Text
virtual bool SDK_CALLTYPE IsLatin1Text(const SDKString &text_string) const =0
Checks, if given text is Latin1 and supported by given container.
gl2d_texts_visibility_state_interface.h
GL2D texts visibility state, describes visibility state of several texts.
SDK_SUCCEEDED
#define SDK_SUCCEEDED(res)
Checks no error result.
Definition: sdk_results_enum.h:67
properties_interface.h
Object generic properties interface.
GL2DTextPivotPoint
GL2DTextPivotPoint
GL2D Text type.
Definition: gl2d_text_interface.h:60
IGL2DLatin1Texts::GetFontID
GL2DFontID SDK_CALLTYPE GetFontID() const
Returns appropriate Font ID, common for all of texts.
Definition: gl2d_latin1_texts_interface.h:76
IGL2DLatin1Texts::IsEditing
virtual bool SDK_CALLTYPE IsEditing() const =0
Checks, if texts collection edit operation in progress now.
IGL2DLatin1Texts::Toggle
virtual SDKResult SDK_CALLTYPE Toggle(const GL2DLatin1TextID &text_id, const bool &visible)=0
Toggles given text position on/off StartEdit method should be called before calling this one.
IGL2DLatin1Texts::GetPosition
virtual SDKResult SDK_CALLTYPE GetPosition(const GL2DLatin1TextID &text_id, SDKPointF2D &position) const =0
Returns text position by text ID.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
IGL2DLatin1Texts::AddText
virtual GL2DLatin1TextID SDK_CALLTYPE AddText(const SDKString &text_string, const SDKPointF2D &text_position, const GL2DTextPivotPoint &pivot_point, const SDKPointF2D &pivot_point_offset)=0
Adds new text to given collection StartEdit method should be called before calling this one kGL2DUnde...
IGL2DLatin1Texts::GetTextsCount
virtual SDKUInt32 SDK_CALLTYPE GetTextsCount() const =0
Returns total number of text entries in given collection.
gl2d_text_interface.h
GL2D Text object.
color_base_types.h
Color base definitions.
SDKPointF2D
Single 2D point.
Definition: geometry_base_types.h:33
IGL2DLatin1Texts::GetParent
virtual IGL2DCanvasSP SDK_CALLTYPE GetParent() const =0
Returns parent canvas object.
IGL2DLatin1Texts::GetVertexCount
virtual SDKUInt32 SDK_CALLTYPE GetVertexCount() const =0
Returns number of vertexes to use for all of texts Statistics only - value refreshed after FinishEdit...
IGL2DLatin1Texts::GetColor
virtual SDKColorF SDK_CALLTYPE GetColor() const =0
Returns texts color, common for all of texts.
platform.h
Describes the platform constants.
GL2DFontID
SDKUInt32 GL2DFontID
Font ID.
Definition: gl2d_font_interface.h:29
GL2DTextReadingDirection
GL2DTextReadingDirection
GL2D Text reading direction.
Definition: gl2d_text_interface.h:124
IGL2DLatin1Texts::StartEdit
virtual SDKResult SDK_CALLTYPE StartEdit()=0
Starts texts collection edit process, call for this method in case you want to change anything in giv...
IGL2DLatin1Texts::GetPivotPoint
virtual SDKResult SDK_CALLTYPE GetPivotPoint(const GL2DLatin1TextID &text_id, GL2DTextPivotPoint &pivot_point) const =0
Returns text pivot point by text ID.
IGL2DCanvas
GL2D Canvas to use to drawing NOTE! Create/Draw functionality was moved to appropriate GL2D Canvas Fu...
Definition: gl2d_canvas_interface.h:435
IGL2DLatin1Texts::GetActiveTextPositionsCount
virtual SDKUInt32 SDK_CALLTYPE GetActiveTextPositionsCount() const =0
Returns total number of active (visible) text positions in given texts collection object Statistics o...
IGL2DLatin1Texts::Dump
virtual void SDK_CALLTYPE Dump() const =0
Dumps given object.
GL2DLatin1TextID
GL2DTextID GL2DLatin1TextID
Unique Latin1 text entry ID.
Definition: gl2d_latin1_texts_interface.h:38
IGL2DLatin1Texts
GL2D Latin1 texts collection object.
Definition: gl2d_latin1_texts_interface.h:53
IGL2DLatin1Texts::GetFont
virtual IGL2DFontSP SDK_CALLTYPE GetFont() const =0
Returns appropriate Font object, common for all of texts.
kGL2DUnknownFontID
static const GL2DFontID kGL2DUnknownFontID
Unknown Font ID.
Definition: gl2d_font_interface.h:33
IGL2DLatin1Texts::GetPivotPointOffset
virtual SDKResult SDK_CALLTYPE GetPivotPointOffset(const GL2DLatin1TextID &text_id, SDKPointF2D &pivot_point_offset) const =0
Returns text pivot point offset by text ID.
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
GL2DTextID
SDKUInt64 GL2DTextID
Generic GL2D text ID.
Definition: gl2d_texts_visibility_state_interface.h:28
IGL2DLatin1Texts::GetTextString
virtual SDKResult SDK_CALLTYPE GetTextString(const GL2DLatin1TextID &text_id, SDKString &text_string) const =0
Returns text string by text ID.