| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009, Google Inc. | 2 * Copyright 2009, Google Inc. |
| 3 * All rights reserved. | 3 * All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 #include "core/cross/sampler.h" | 59 #include "core/cross/sampler.h" |
| 60 #include "core/cross/shape.h" | 60 #include "core/cross/shape.h" |
| 61 #include "core/cross/skin.h" | 61 #include "core/cross/skin.h" |
| 62 #include "core/cross/standard_param.h" | 62 #include "core/cross/standard_param.h" |
| 63 #include "core/cross/state_set.h" | 63 #include "core/cross/state_set.h" |
| 64 #include "core/cross/stream.h" | 64 #include "core/cross/stream.h" |
| 65 #include "core/cross/stream_bank.h" | 65 #include "core/cross/stream_bank.h" |
| 66 #include "core/cross/transform.h" | 66 #include "core/cross/transform.h" |
| 67 #include "core/cross/tree_traversal.h" | 67 #include "core/cross/tree_traversal.h" |
| 68 #include "core/cross/viewport.h" | 68 #include "core/cross/viewport.h" |
| 69 #include "core/cross/cairo/image_2d.h" |
| 69 | 70 |
| 70 namespace o3d { | 71 namespace o3d { |
| 71 | 72 |
| 72 ClassManager::ClassManager(ServiceLocator* service_locator) | 73 ClassManager::ClassManager(ServiceLocator* service_locator) |
| 73 : service_locator_(service_locator), | 74 : service_locator_(service_locator), |
| 74 service_(service_locator_, this) { | 75 service_(service_locator_, this) { |
| 75 // Params | 76 // Params |
| 76 AddTypedClass<ParamBoolean>(); | 77 AddTypedClass<ParamBoolean>(); |
| 77 AddTypedClass<ParamBoundingBox>(); | 78 AddTypedClass<ParamBoundingBox>(); |
| 78 AddTypedClass<ParamDrawContext>(); | 79 AddTypedClass<ParamDrawContext>(); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 AddTypedClass<State>(); | 172 AddTypedClass<State>(); |
| 172 AddTypedClass<StateSet>(); | 173 AddTypedClass<StateSet>(); |
| 173 AddTypedClass<StreamBank>(); | 174 AddTypedClass<StreamBank>(); |
| 174 AddTypedClass<Texture2D>(); | 175 AddTypedClass<Texture2D>(); |
| 175 AddTypedClass<TextureCUBE>(); | 176 AddTypedClass<TextureCUBE>(); |
| 176 AddTypedClass<TickCounter>(); | 177 AddTypedClass<TickCounter>(); |
| 177 AddTypedClass<Transform>(); | 178 AddTypedClass<Transform>(); |
| 178 AddTypedClass<TreeTraversal>(); | 179 AddTypedClass<TreeTraversal>(); |
| 179 AddTypedClass<VertexBuffer>(); | 180 AddTypedClass<VertexBuffer>(); |
| 180 AddTypedClass<Viewport>(); | 181 AddTypedClass<Viewport>(); |
| 182 |
| 183 // Specific Objects for Cairo |
| 184 #if defined(RENDERER_CAIRO) |
| 185 AddTypedClass<Image2D>(); |
| 186 #endif |
| 181 } | 187 } |
| 182 | 188 |
| 183 void ClassManager::AddClass(const ObjectBase::Class* object_class, | 189 void ClassManager::AddClass(const ObjectBase::Class* object_class, |
| 184 ObjectCreateFunc function) { | 190 ObjectCreateFunc function) { |
| 185 DLOG_ASSERT(object_class_info_name_map_.find(object_class->name()) == | 191 DLOG_ASSERT(object_class_info_name_map_.find(object_class->name()) == |
| 186 object_class_info_name_map_.end()) | 192 object_class_info_name_map_.end()) |
| 187 << "attempt to register duplicate class name"; | 193 << "attempt to register duplicate class name"; |
| 188 object_class_info_name_map_.insert( | 194 object_class_info_name_map_.insert( |
| 189 std::make_pair(object_class->name(), | 195 std::make_pair(object_class->name(), |
| 190 ObjectClassInfo(object_class, function))); | 196 ObjectClassInfo(object_class, function))); |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 std::vector<const ObjectBase::Class*> classes; | 269 std::vector<const ObjectBase::Class*> classes; |
| 264 for (ObjectClassInfoNameMap::const_iterator it = | 270 for (ObjectClassInfoNameMap::const_iterator it = |
| 265 object_class_info_name_map_.begin(); | 271 object_class_info_name_map_.begin(); |
| 266 it != object_class_info_name_map_.end(); ++it) { | 272 it != object_class_info_name_map_.end(); ++it) { |
| 267 classes.push_back(it->second.class_type()); | 273 classes.push_back(it->second.class_type()); |
| 268 } | 274 } |
| 269 return classes; | 275 return classes; |
| 270 } | 276 } |
| 271 | 277 |
| 272 } // namespace o3d | 278 } // namespace o3d |
| OLD | NEW |