7 #ifndef __surface_SurfaceAccessorBase_h__ 8 #define __surface_SurfaceAccessorBase_h__ 29 virtual BWORD writable(
void)
const {
return m_writable; }
30 virtual void setWritable(BWORD a_writable)
31 { m_writable=a_writable; }
33 virtual U32 count(
void)
const =0;
35 virtual String type(
void)
const {
return m_attrType; }
37 virtual void set(U32 a_index,U32 a_subIndex,
String a_string) {}
38 virtual void set(U32 a_index,
String a_string)
39 {
set(a_index,U32(0),a_string); }
41 virtual void set(U32 a_index,U32 a_subIndex,I32 a_integer) {}
42 virtual void set(U32 a_index,I32 a_integer)
43 {
set(a_index,U32(0),a_integer); }
45 virtual I32 duplicate(U32 a_index,U32 a_subIndex=0) {
return -1; }
47 virtual I32 append(
void)
48 {
return append(SurfaceAccessibleI::e_closed); }
49 virtual I32 append(SurfaceAccessibleI::Form a_form) {
return -1; }
50 virtual I32 append(I32 a_integer)
51 {
return append(a_integer,
52 SurfaceAccessibleI::e_closed); }
53 virtual I32 append(I32 a_integer,SurfaceAccessibleI::Form a_form);
54 virtual void append(U32 index,I32 a_integer) {}
57 virtual void remove(U32 a_index,I32 a_integer=0) {}
59 virtual void set(U32 a_index,U32 a_subIndex,Real a_real) {}
60 virtual void set(U32 a_index,Real a_real)
61 {
set(a_index,U32(0),a_real); }
63 virtual void set(U32 a_index,U32 a_subIndex,
66 {
set(a_index,U32(0),a_vector); }
70 const Vector2i* a_pIndexArray,I32 a_arrayCount);
72 virtual void fragmentWith(SurfaceAccessibleI::Element a_element,
74 virtual U32 fragmentCount(
void)
const 75 {
return m_fragmentMap.size(); }
76 virtual String fragment(U32 a_index)
const 78 return (a_index<m_fragmentList.size())?
79 m_fragmentList[a_index]:
"";
81 virtual BWORD filterWith(
String a_filterString,
84 void setSurfaceAccessible(
86 { m_spSurfaceAccessibleI=a_spSurfaceAccessibleI; }
88 virtual SurfaceAccessibleI::Element element(
void) {
return m_element; }
89 virtual SurfaceAccessibleI::Attribute attribute(
void) {
return m_attribute; }
91 virtual String attributeName(
void) {
return m_attrName; }
93 virtual void appendGroupSpans(
94 SpannedRange::MultiSpan& a_rMultiSpan);
99 SurfaceAccessibleI::Element m_element;
100 SurfaceAccessibleI::Attribute m_attribute;
112 class FragmentFilter:
117 FragmentFilter(
void) {}
118 virtual ~FragmentFilter(
void) {}
120 virtual I32 filterCount(
void)
const 123 m_pFragment->m_indexArray.size(): -1;
125 virtual I32 filter(I32 a_filterIndex)
const 132 m_pFragment->m_indexArray;
133 if(a_filterIndex>=I32(rIndexArray.size()))
137 return rIndexArray[a_filterIndex];
141 void setFragment(
const Fragment* a_pFragment)
142 { m_pFragment=a_pFragment; }
145 const Fragment* m_pFragment;
148 AutoHashMap<String,Fragment> m_fragmentMap;
kernel
Definition: namespace.dox:3
Common Functionality for Accessor Surface.
Definition: SurfaceAccessorBase.h:20
view to a reduced set in indices
Definition: SurfaceAccessibleI.h:96
Automatically reference-counted string container.
Definition: String.h:128
Wrapper for std::vector.
Definition: Array.h:21
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53
Surface Element Handle.
Definition: SurfaceAccessorI.h:27
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192