~ubuntu-branches/ubuntu/precise/gle-graphics/precise

« back to all changes in this revision

Viewing changes to src/gle/sub.cpp

  • Committer: Package Import Robot
  • Author(s): Christian T. Steigies
  • Date: 2011-10-20 22:15:27 UTC
  • mfrom: (5.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20111020221527-sv27lrowdd221npi
Tags: 4.2.3b-1
* new upstream version
* switch from cdbs to debhelper 8
* update copyright file
* do no rely on proc on non-linux systems (closes: #644588)
* do not ship glebtool, which is a helper used only during build
* add libqt4-opengl-dev to build-depends

Show diffs side-by-side

added added

removed removed

Lines of Context:
59
59
string return_value_str;
60
60
vector<string> return_str_stack;
61
61
 
 
62
GLESubArgNames::GLESubArgNames() :
 
63
        m_ArgNames(new GLEStringHash())
 
64
{
 
65
}
 
66
 
 
67
void GLESubArgNames::addArgName(const char* argName) {
 
68
        GLERC<GLEString> strArgName(new GLEString(argName));
 
69
        m_ArgNames->setObjectByKey(strArgName, strArgName.get());
 
70
}
 
71
 
 
72
GLESubRoot::GLESubRoot(GLEString* name, GLESubArgNames* argNames) :
 
73
        m_Name(name),
 
74
        m_ArgNames(argNames),
 
75
        m_IgnoredArgNames(new GLEStringHash()),
 
76
        m_Signatures(new GLEArrayImpl())
 
77
{
 
78
}
 
79
 
 
80
void GLESubRoot::updateArgNames(GLESubArgNames* argNames) {
 
81
}
 
82
 
 
83
GLESubSignature::GLESubSignature(GLESubRoot* root) :
 
84
        m_Root(root),
 
85
        m_Subroutines(new GLEArrayWithFreeList()),
 
86
        m_Callables(new GLEArrayWithFreeList())
 
87
{
 
88
}
 
89
 
 
90
void GLECallable::execute(GLEArrayImpl* stack, unsigned int top) {
 
91
}
 
92
 
 
93
GLEArgTypeDefaults::GLEArgTypeDefaults(unsigned int arity) :
 
94
        m_Arity(arity),
 
95
        m_ArgTypes(new unsigned int[arity]),
 
96
        m_Defaults(new GLEArrayImpl())
 
97
{
 
98
}
 
99
 
 
100
GLEArgTypeDefaults::~GLEArgTypeDefaults() {
 
101
        delete m_ArgTypes;
 
102
}
 
103
 
 
104
GLEAbstractSub::GLEAbstractSub() :
 
105
        m_Root(0)
 
106
{
 
107
}
 
108
 
 
109
void GLEAbstractSub::setArgTypeDefaults(GLEArgTypeDefaults* defaults) {
 
110
        m_ArgTypeDefaults = defaults;
 
111
        m_ArgTypes = m_ArgTypeDefaults->getArgTypes();
 
112
}
 
113
 
 
114
GLEBuiltInFactory::GLEBuiltInFactory(GLESubMap* map) :
 
115
        m_Map(map)
 
116
{
 
117
        // default binary argument names (x, y)
 
118
        m_BinaryArgNamesXY = new GLESubArgNames();
 
119
        m_BinaryArgNamesXY->addArgName("x");
 
120
        m_BinaryArgNamesXY->addArgName("y");
 
121
        // binary function with two double arguments
 
122
        m_BinaryDoubleDoubleArgTypeDefaults = new GLEArgTypeDefaults(2);
 
123
        m_BinaryDoubleDoubleArgTypeDefaults->setArgType(0, GLEObjectTypeDouble);
 
124
        m_BinaryDoubleDoubleArgTypeDefaults->setArgType(1, GLEObjectTypeDouble);
 
125
}
 
126
 
 
127
GLESubArgNames* GLEBuiltInFactory::getBinaryArgNamesXY() {
 
128
        return m_BinaryArgNamesXY.get();
 
129
}
 
130
 
 
131
GLEArgTypeDefaults* GLEBuiltInFactory::getBinaryDoubleDoubleArgTypeDefaults() {
 
132
        return m_BinaryDoubleDoubleArgTypeDefaults.get();
 
133
}
 
134
 
 
135
GLESubRoot* GLEBuiltInFactory::createRoot(const char* name, GLESubArgNames* argNames)
 
136
{
 
137
        return m_Map->createRoot(name, argNames);
 
138
}
 
139
 
62
140
GLESub::GLESub() {
63
141
        m_ParentSub = NULL;
64
142
        m_Typ = m_Idx = 0;
118
196
        return m_Cons;
119
197
}
120
198
 
121
 
GLESubMap::GLESubMap() {
 
199
GLESubMap::GLESubMap() :
 
200
        m_SubRoots(new GLEStringHash())
 
201
{
122
202
}
123
203
 
124
204
GLESubMap::~GLESubMap() {
125
205
        clear();
126
206
}
127
207
 
 
208
GLESubRoot* GLESubMap::getRoot(const char* name) {
 
209
        GLERC<GLEString> strName(new GLEString(name));
 
210
        return (GLESubRoot*)m_SubRoots->getObjectByKey(strName);
 
211
}
 
212
 
 
213
GLESubRoot* GLESubMap::createRoot(const char* name, GLESubArgNames* argNames) {
 
214
        GLERC<GLEString> strName(new GLEString(name));
 
215
        GLESubRoot* root = (GLESubRoot*)m_SubRoots->getObjectByKey(strName);
 
216
        if (root != NULL) {
 
217
                root->updateArgNames(argNames);
 
218
                return root;
 
219
        } else {
 
220
                GLESubRoot* newRoot = new GLESubRoot(strName.get(), argNames);
 
221
                m_SubRoots->setObjectByKey(strName, newRoot);
 
222
                return newRoot;
 
223
        }
 
224
}
 
225
 
 
226
void GLESubMap::add(GLEAbstractSub* sub) {
 
227
}
 
228
 
128
229
void GLESubMap::clear(int i) {
129
230
        delete m_Subs[i];
130
231
        m_Subs[i] = NULL;