diff options
Diffstat (limited to 'sgl_doxygen/html/SkMetaData_8h-source.html')
-rw-r--r-- | sgl_doxygen/html/SkMetaData_8h-source.html | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/sgl_doxygen/html/SkMetaData_8h-source.html b/sgl_doxygen/html/SkMetaData_8h-source.html deleted file mode 100644 index 3fd84b2..0000000 --- a/sgl_doxygen/html/SkMetaData_8h-source.html +++ /dev/null @@ -1,144 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> -<title>SGL: SkMetaData.h Source File</title> -<link href="doxygen.css" rel="stylesheet" type="text/css"> -</head><body> -<!-- Generated by Doxygen 1.4.0 --> -<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div> -<div class="nav"> -<a class="el" href="dir_000000.html">include</a> / <a class="el" href="dir_000001.html">skia</a></div> -<h1>SkMetaData.h</h1><div class="fragment"><pre class="fragment">00001 <span class="preprocessor">#ifndef SkMetaData_DEFINED</span> -00002 <span class="preprocessor"></span><span class="preprocessor">#define SkMetaData_DEFINED</span> -00003 <span class="preprocessor"></span> -00004 <span class="preprocessor">#include "SkMath.h"</span> -00005 -00006 <span class="keyword">class </span>SkMetaData { -00007 <span class="keyword">public</span>: -00008 SkMetaData(); -00009 SkMetaData(<span class="keyword">const</span> SkMetaData& src); -00010 ~SkMetaData(); -00011 -00012 SkMetaData& operator=(<span class="keyword">const</span> SkMetaData& src); -00013 -00014 <span class="keywordtype">void</span> reset(); -00015 -00016 <span class="keywordtype">bool</span> findS32(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], S32* value = nil) <span class="keyword">const</span>; -00017 <span class="keywordtype">bool</span> findScalar(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], SkScalar* value = nil) <span class="keyword">const</span>; -00018 <span class="keyword">const</span> SkScalar* findScalars(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keywordtype">int</span>* count, SkScalar values[] = nil) <span class="keyword">const</span>; -00019 <span class="keyword">const</span> <span class="keywordtype">char</span>* findString(<span class="keyword">const</span> <span class="keywordtype">char</span> name[]) <span class="keyword">const</span>; -00020 <span class="keywordtype">bool</span> findPtr(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keywordtype">void</span>** value = nil) <span class="keyword">const</span>; -00021 <span class="keywordtype">bool</span> findBool(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keywordtype">bool</span>* value = nil) <span class="keyword">const</span>; -00022 -00023 <span class="keywordtype">bool</span> hasS32(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], S32 value)<span class="keyword"> const</span> -00024 <span class="keyword"> </span>{ -00025 S32 v; -00026 <span class="keywordflow">return</span> this->findS32(name, &v) && v == value; -00027 } -00028 <span class="keywordtype">bool</span> hasScalar(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], SkScalar value)<span class="keyword"> const</span> -00029 <span class="keyword"> </span>{ -00030 SkScalar v; -00031 <span class="keywordflow">return</span> this->findScalar(name, &v) && v == value; -00032 } -00033 <span class="keywordtype">bool</span> hasString(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keyword">const</span> <span class="keywordtype">char</span> value[])<span class="keyword"> const</span> -00034 <span class="keyword"> </span>{ -00035 <span class="keyword">const</span> <span class="keywordtype">char</span>* v = this->findString(name); -00036 <span class="keywordflow">return</span> v == nil && value == nil || -00037 v != nil && value != nil && !strcmp(v, value); -00038 } -00039 <span class="keywordtype">bool</span> hasPtr(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keywordtype">void</span>* value)<span class="keyword"> const</span> -00040 <span class="keyword"> </span>{ -00041 <span class="keywordtype">void</span>* v; -00042 <span class="keywordflow">return</span> this->findPtr(name, &v) && v == value; -00043 } -00044 <span class="keywordtype">bool</span> hasBool(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keywordtype">bool</span> value)<span class="keyword"> const</span> -00045 <span class="keyword"> </span>{ -00046 <span class="keywordtype">bool</span> v; -00047 <span class="keywordflow">return</span> this->findBool(name, &v) && v == value; -00048 } -00049 -00050 <span class="keywordtype">void</span> setS32(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], S32 value); -00051 <span class="keywordtype">void</span> setScalar(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], SkScalar value); -00052 SkScalar* setScalars(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keywordtype">int</span> count, <span class="keyword">const</span> SkScalar values[] = nil); -00053 <span class="keywordtype">void</span> setString(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keyword">const</span> <span class="keywordtype">char</span> value[]); -00054 <span class="keywordtype">void</span> setPtr(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keywordtype">void</span>* value); -00055 <span class="keywordtype">void</span> setBool(<span class="keyword">const</span> <span class="keywordtype">char</span> name[], <span class="keywordtype">bool</span> value); -00056 -00057 <span class="keywordtype">bool</span> removeS32(<span class="keyword">const</span> <span class="keywordtype">char</span> name[]); -00058 <span class="keywordtype">bool</span> removeScalar(<span class="keyword">const</span> <span class="keywordtype">char</span> name[]); -00059 <span class="keywordtype">bool</span> removeString(<span class="keyword">const</span> <span class="keywordtype">char</span> name[]); -00060 <span class="keywordtype">bool</span> removePtr(<span class="keyword">const</span> <span class="keywordtype">char</span> name[]); -00061 <span class="keywordtype">bool</span> removeBool(<span class="keyword">const</span> <span class="keywordtype">char</span> name[]); -00062 -00063 SkDEBUGCODE(<span class="keyword">static</span> <span class="keywordtype">void</span> UnitTest();) -00064 -00065 <span class="keyword">enum</span> Type { -00066 kS32_Type, -00067 kScalar_Type, -00068 kString_Type, -00069 kPtr_Type, -00070 kBool_Type, -00071 -00072 kTypeCount -00073 }; -00074 -00075 <span class="keyword">struct </span>Rec; -00076 <span class="keyword">class </span>Iter; -00077 <span class="keyword">friend</span> <span class="keyword">class </span>Iter; -00078 -00079 <span class="keyword">class </span>Iter { -00080 <span class="keyword">public</span>: -00081 Iter() : fRec(nil) {} -00082 Iter(<span class="keyword">const</span> SkMetaData&); -00083 -00087 <span class="keywordtype">void</span> reset(<span class="keyword">const</span> SkMetaData&); -00088 -00094 <span class="keyword">const</span> <span class="keywordtype">char</span>* next(Type*, <span class="keywordtype">int</span>* count); -00095 -00096 <span class="keyword">private</span>: -00097 Rec* fRec; -00098 }; -00099 -00100 <span class="keyword">public</span>: -00101 <span class="keyword">struct </span>Rec { -00102 Rec* fNext; -00103 U16 fDataCount; <span class="comment">// number of elements</span> -00104 U8 fDataLen; <span class="comment">// sizeof a single element</span> -00105 <span class="preprocessor">#ifdef SK_DEBUG</span> -00106 <span class="preprocessor"></span> Type fType; -00107 <span class="preprocessor">#else</span> -00108 <span class="preprocessor"></span> U8 fType; -00109 <span class="preprocessor">#endif</span> -00110 <span class="preprocessor"></span> -00111 <span class="preprocessor">#ifdef SK_DEBUG</span> -00112 <span class="preprocessor"></span> <span class="keyword">const</span> <span class="keywordtype">char</span>* fName; -00113 <span class="keyword">union </span>{ -00114 S32 fS32; -00115 SkScalar fScalar; -00116 <span class="keyword">const</span> <span class="keywordtype">char</span>* fString; -00117 <span class="keywordtype">void</span>* fPtr; -00118 <span class="keywordtype">bool</span> fBool; -00119 } fData; -00120 <span class="preprocessor">#endif</span> -00121 <span class="preprocessor"></span> -00122 <span class="keyword">const</span> <span class="keywordtype">void</span>* data()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="keyword">this</span> + 1); } -00123 <span class="keywordtype">void</span>* data() { <span class="keywordflow">return</span> (<span class="keyword">this</span> + 1); } -00124 <span class="keyword">const</span> <span class="keywordtype">char</span>* name()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>*)this->data() + fDataLen * fDataCount; } -00125 <span class="keywordtype">char</span>* name() { <span class="keywordflow">return</span> (<span class="keywordtype">char</span>*)this->data() + fDataLen * fDataCount; } -00126 -00127 static Rec* Alloc(size_t); -00128 static <span class="keywordtype">void</span> Free(Rec*); -00129 }; -00130 Rec* fRec; -00131 -00132 const Rec* find(const <span class="keywordtype">char</span> name[], Type) const; -00133 <span class="keywordtype">void</span>* set(const <span class="keywordtype">char</span> name[], const <span class="keywordtype">void</span>* data, size_t len, Type, <span class="keywordtype">int</span> count); -00134 <span class="keywordtype">bool</span> remove(const <span class="keywordtype">char</span> name[], Type); -00135 }; -00136 -00137 #endif -00138 -</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue May 9 14:35:23 2006 for SGL by -<a href="http://www.doxygen.org/index.html"> -<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.0 </small></address> -</body> -</html> |