From aa9cdee46fea21ad50b70a4513aa39aebe280b7f Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Thu, 27 Jul 2017 23:21:23 +0100 Subject: Adding initial docs --- annotated.html | 109 ++ bc_s.png | Bin 0 -> 676 bytes bdwn.png | Bin 0 -> 147 bytes body_8hpp_source.html | 81 ++ camera2d_8hpp_source.html | 81 ++ classTestBench-members.html | 81 ++ classTestBench.html | 94 ++ classes.html | 104 ++ classyage_1_1Body-members.html | 94 ++ classyage_1_1Body.html | 148 +++ classyage_1_1Body.png | Bin 0 -> 1112 bytes classyage_1_1Camera2D-members.html | 85 ++ classyage_1_1Camera2D.html | 98 ++ classyage_1_1Collider-members.html | 87 ++ classyage_1_1Collider.html | 116 ++ classyage_1_1Collider.png | Bin 0 -> 642 bytes classyage_1_1CollisionBody-members.html | 96 ++ classyage_1_1CollisionBody.html | 136 +++ classyage_1_1CollisionBody.png | Bin 0 -> 560 bytes classyage_1_1GlslProgram-members.html | 89 ++ classyage_1_1GlslProgram.html | 107 ++ classyage_1_1Glyph-members.html | 88 ++ classyage_1_1Glyph.html | 110 ++ classyage_1_1ImageLoader-members.html | 82 ++ classyage_1_1ImageLoader.html | 92 ++ classyage_1_1InputManager-members.html | 84 ++ classyage_1_1InputManager.html | 98 ++ classyage_1_1IoManager-members.html | 82 ++ classyage_1_1IoManager.html | 92 ++ classyage_1_1Matrix-members.html | 96 ++ classyage_1_1Matrix.html | 138 +++ classyage_1_1ParticleBody-members.html | 95 ++ classyage_1_1ParticleBody.html | 145 +++ classyage_1_1ParticleBody.png | Bin 0 -> 801 bytes classyage_1_1RectangleCollider-members.html | 88 ++ classyage_1_1RectangleCollider.html | 121 ++ classyage_1_1RectangleCollider.png | Bin 0 -> 645 bytes classyage_1_1RenderBatch-members.html | 85 ++ classyage_1_1RenderBatch.html | 101 ++ classyage_1_1ResourceManager-members.html | 82 ++ classyage_1_1ResourceManager.html | 92 ++ classyage_1_1RigidBody-members.html | 96 ++ classyage_1_1RigidBody.html | 149 +++ classyage_1_1RigidBody.png | Bin 0 -> 796 bytes classyage_1_1Sprite-members.html | 85 ++ classyage_1_1Sprite.html | 95 ++ classyage_1_1SpriteBatch-members.html | 89 ++ classyage_1_1SpriteBatch.html | 111 ++ classyage_1_1TextureCache-members.html | 84 ++ classyage_1_1TextureCache.html | 92 ++ classyage_1_1Vector-members.html | 97 ++ classyage_1_1Vector.html | 150 +++ classyage_1_1Vector.png | Bin 0 -> 799 bytes classyage_1_1Vector2-members.html | 104 ++ classyage_1_1Vector2.html | 170 +++ classyage_1_1Vector2.png | Bin 0 -> 1115 bytes classyage_1_1Window-members.html | 86 ++ classyage_1_1Window.html | 98 ++ classyage_1_1detail_1_1Row-members.html | 84 ++ classyage_1_1detail_1_1Row.html | 97 ++ closed.png | Bin 0 -> 132 bytes collider_8hpp_source.html | 80 ++ collisionbody_8hpp_source.html | 81 ++ dir_13e138d54eb8818da29c3992edef070a.html | 78 ++ dir_5ac3a90c14a160db9539610948ce4998.html | 78 ++ dir_68267d1309a1af8e8297ef4c3efbcdba.html | 78 ++ dir_b233a2caca2b45d5ef987dbbf49782d0.html | 78 ++ dir_d44c64559bbebec7f509842c48db8b23.html | 82 ++ dir_f562165b51c585c003877be645f219b5.html | 82 ++ doc.png | Bin 0 -> 746 bytes doxygen.css | 1596 +++++++++++++++++++++++++++ doxygen.png | Bin 0 -> 3779 bytes dynsections.js | 97 ++ files.html | 107 ++ folderclosed.png | Bin 0 -> 616 bytes folderopen.png | Bin 0 -> 597 bytes glslprogram_8hpp_source.html | 80 ++ hierarchy.html | 112 ++ imageloader_8hpp_source.html | 81 ++ index.html | 74 ++ inputmanager_8hpp_source.html | 80 ++ iomanager_8hpp_source.html | 80 ++ jquery.js | 87 ++ math_8hpp_source.html | 78 ++ matrix_8hpp_source.html | 83 ++ md_README.html | 77 ++ menu.js | 26 + menudata.js | 9 + nav_f.png | Bin 0 -> 153 bytes nav_g.png | Bin 0 -> 95 bytes nav_h.png | Bin 0 -> 98 bytes open.png | Bin 0 -> 123 bytes pages.html | 79 ++ particlebody_8hpp_source.html | 82 ++ physics_8hpp_source.html | 78 ++ picopng_8hpp_source.html | 79 ++ rectanglecollider_8hpp_source.html | 81 ++ resourcemanager_8hpp_source.html | 82 ++ rigidbody_8hpp_source.html | 82 ++ search/all_0.html | 26 + search/all_0.js | 4 + search/all_1.html | 26 + search/all_1.js | 7 + search/all_2.html | 26 + search/all_2.js | 5 + search/all_3.html | 26 + search/all_3.js | 6 + search/all_4.html | 26 + search/all_4.js | 6 + search/all_5.html | 26 + search/all_5.js | 5 + search/all_6.html | 26 + search/all_6.js | 8 + search/all_7.html | 26 + search/all_7.js | 5 + search/all_8.html | 26 + search/all_8.js | 7 + search/all_9.html | 26 + search/all_9.js | 4 + search/all_a.html | 26 + search/all_a.js | 9 + search/all_b.html | 26 + search/all_b.js | 4 + search/all_c.html | 26 + search/all_c.js | 4 + search/classes_0.html | 26 + search/classes_0.js | 4 + search/classes_1.html | 26 + search/classes_1.js | 7 + search/classes_2.html | 26 + search/classes_2.js | 5 + search/classes_3.html | 26 + search/classes_3.js | 6 + search/classes_4.html | 26 + search/classes_4.js | 6 + search/classes_5.html | 26 + search/classes_5.js | 5 + search/classes_6.html | 26 + search/classes_6.js | 8 + search/classes_7.html | 26 + search/classes_7.js | 5 + search/classes_8.html | 26 + search/classes_8.js | 7 + search/classes_9.html | 26 + search/classes_9.js | 4 + search/classes_a.html | 26 + search/classes_a.js | 9 + search/classes_b.html | 26 + search/classes_b.js | 4 + search/close.png | Bin 0 -> 273 bytes search/mag_sel.png | Bin 0 -> 563 bytes search/nomatches.html | 12 + search/pages_0.html | 26 + search/pages_0.js | 4 + search/search.css | 271 +++++ search/search.js | 791 +++++++++++++ search/search_l.png | Bin 0 -> 604 bytes search/search_m.png | Bin 0 -> 158 bytes search/search_r.png | Bin 0 -> 612 bytes search/searchdata.js | 21 + splitbar.png | Bin 0 -> 314 bytes sprite_8hpp_source.html | 81 ++ spritebatch_8hpp_source.html | 84 ++ structTest-members.html | 80 ++ structTest.html | 97 ++ structyage_1_1Color-members.html | 87 ++ structyage_1_1Color.html | 107 ++ structyage_1_1Position-members.html | 85 ++ structyage_1_1Position.html | 101 ++ structyage_1_1Texture-members.html | 84 ++ structyage_1_1Texture.html | 97 ++ structyage_1_1UV-members.html | 85 ++ structyage_1_1UV.html | 101 ++ structyage_1_1Vertex-members.html | 89 ++ structyage_1_1Vertex.html | 113 ++ sync_off.png | Bin 0 -> 853 bytes sync_on.png | Bin 0 -> 845 bytes tab_a.png | Bin 0 -> 142 bytes tab_b.png | Bin 0 -> 169 bytes tab_h.png | Bin 0 -> 177 bytes tab_s.png | Bin 0 -> 184 bytes tabs.css | 1 + testbench_8hpp_source.html | 80 ++ texture_8hpp_source.html | 80 ++ texturecache_8hpp_source.html | 81 ++ vertex_8hpp_source.html | 83 ++ window_8hpp_source.html | 80 ++ yage_8hpp_source.html | 79 ++ 188 files changed, 12625 insertions(+) create mode 100644 annotated.html create mode 100644 bc_s.png create mode 100644 bdwn.png create mode 100644 body_8hpp_source.html create mode 100644 camera2d_8hpp_source.html create mode 100644 classTestBench-members.html create mode 100644 classTestBench.html create mode 100644 classes.html create mode 100644 classyage_1_1Body-members.html create mode 100644 classyage_1_1Body.html create mode 100644 classyage_1_1Body.png create mode 100644 classyage_1_1Camera2D-members.html create mode 100644 classyage_1_1Camera2D.html create mode 100644 classyage_1_1Collider-members.html create mode 100644 classyage_1_1Collider.html create mode 100644 classyage_1_1Collider.png create mode 100644 classyage_1_1CollisionBody-members.html create mode 100644 classyage_1_1CollisionBody.html create mode 100644 classyage_1_1CollisionBody.png create mode 100644 classyage_1_1GlslProgram-members.html create mode 100644 classyage_1_1GlslProgram.html create mode 100644 classyage_1_1Glyph-members.html create mode 100644 classyage_1_1Glyph.html create mode 100644 classyage_1_1ImageLoader-members.html create mode 100644 classyage_1_1ImageLoader.html create mode 100644 classyage_1_1InputManager-members.html create mode 100644 classyage_1_1InputManager.html create mode 100644 classyage_1_1IoManager-members.html create mode 100644 classyage_1_1IoManager.html create mode 100644 classyage_1_1Matrix-members.html create mode 100644 classyage_1_1Matrix.html create mode 100644 classyage_1_1ParticleBody-members.html create mode 100644 classyage_1_1ParticleBody.html create mode 100644 classyage_1_1ParticleBody.png create mode 100644 classyage_1_1RectangleCollider-members.html create mode 100644 classyage_1_1RectangleCollider.html create mode 100644 classyage_1_1RectangleCollider.png create mode 100644 classyage_1_1RenderBatch-members.html create mode 100644 classyage_1_1RenderBatch.html create mode 100644 classyage_1_1ResourceManager-members.html create mode 100644 classyage_1_1ResourceManager.html create mode 100644 classyage_1_1RigidBody-members.html create mode 100644 classyage_1_1RigidBody.html create mode 100644 classyage_1_1RigidBody.png create mode 100644 classyage_1_1Sprite-members.html create mode 100644 classyage_1_1Sprite.html create mode 100644 classyage_1_1SpriteBatch-members.html create mode 100644 classyage_1_1SpriteBatch.html create mode 100644 classyage_1_1TextureCache-members.html create mode 100644 classyage_1_1TextureCache.html create mode 100644 classyage_1_1Vector-members.html create mode 100644 classyage_1_1Vector.html create mode 100644 classyage_1_1Vector.png create mode 100644 classyage_1_1Vector2-members.html create mode 100644 classyage_1_1Vector2.html create mode 100644 classyage_1_1Vector2.png create mode 100644 classyage_1_1Window-members.html create mode 100644 classyage_1_1Window.html create mode 100644 classyage_1_1detail_1_1Row-members.html create mode 100644 classyage_1_1detail_1_1Row.html create mode 100644 closed.png create mode 100644 collider_8hpp_source.html create mode 100644 collisionbody_8hpp_source.html create mode 100644 dir_13e138d54eb8818da29c3992edef070a.html create mode 100644 dir_5ac3a90c14a160db9539610948ce4998.html create mode 100644 dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 dir_b233a2caca2b45d5ef987dbbf49782d0.html create mode 100644 dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 dir_f562165b51c585c003877be645f219b5.html create mode 100644 doc.png create mode 100644 doxygen.css create mode 100644 doxygen.png create mode 100644 dynsections.js create mode 100644 files.html create mode 100644 folderclosed.png create mode 100644 folderopen.png create mode 100644 glslprogram_8hpp_source.html create mode 100644 hierarchy.html create mode 100644 imageloader_8hpp_source.html create mode 100644 index.html create mode 100644 inputmanager_8hpp_source.html create mode 100644 iomanager_8hpp_source.html create mode 100644 jquery.js create mode 100644 math_8hpp_source.html create mode 100644 matrix_8hpp_source.html create mode 100644 md_README.html create mode 100644 menu.js create mode 100644 menudata.js create mode 100644 nav_f.png create mode 100644 nav_g.png create mode 100644 nav_h.png create mode 100644 open.png create mode 100644 pages.html create mode 100644 particlebody_8hpp_source.html create mode 100644 physics_8hpp_source.html create mode 100644 picopng_8hpp_source.html create mode 100644 rectanglecollider_8hpp_source.html create mode 100644 resourcemanager_8hpp_source.html create mode 100644 rigidbody_8hpp_source.html create mode 100644 search/all_0.html create mode 100644 search/all_0.js create mode 100644 search/all_1.html create mode 100644 search/all_1.js create mode 100644 search/all_2.html create mode 100644 search/all_2.js create mode 100644 search/all_3.html create mode 100644 search/all_3.js create mode 100644 search/all_4.html create mode 100644 search/all_4.js create mode 100644 search/all_5.html create mode 100644 search/all_5.js create mode 100644 search/all_6.html create mode 100644 search/all_6.js create mode 100644 search/all_7.html create mode 100644 search/all_7.js create mode 100644 search/all_8.html create mode 100644 search/all_8.js create mode 100644 search/all_9.html create mode 100644 search/all_9.js create mode 100644 search/all_a.html create mode 100644 search/all_a.js create mode 100644 search/all_b.html create mode 100644 search/all_b.js create mode 100644 search/all_c.html create mode 100644 search/all_c.js create mode 100644 search/classes_0.html create mode 100644 search/classes_0.js create mode 100644 search/classes_1.html create mode 100644 search/classes_1.js create mode 100644 search/classes_2.html create mode 100644 search/classes_2.js create mode 100644 search/classes_3.html create mode 100644 search/classes_3.js create mode 100644 search/classes_4.html create mode 100644 search/classes_4.js create mode 100644 search/classes_5.html create mode 100644 search/classes_5.js create mode 100644 search/classes_6.html create mode 100644 search/classes_6.js create mode 100644 search/classes_7.html create mode 100644 search/classes_7.js create mode 100644 search/classes_8.html create mode 100644 search/classes_8.js create mode 100644 search/classes_9.html create mode 100644 search/classes_9.js create mode 100644 search/classes_a.html create mode 100644 search/classes_a.js create mode 100644 search/classes_b.html create mode 100644 search/classes_b.js create mode 100644 search/close.png create mode 100644 search/mag_sel.png create mode 100644 search/nomatches.html create mode 100644 search/pages_0.html create mode 100644 search/pages_0.js create mode 100644 search/search.css create mode 100644 search/search.js create mode 100644 search/search_l.png create mode 100644 search/search_m.png create mode 100644 search/search_r.png create mode 100644 search/searchdata.js create mode 100644 splitbar.png create mode 100644 sprite_8hpp_source.html create mode 100644 spritebatch_8hpp_source.html create mode 100644 structTest-members.html create mode 100644 structTest.html create mode 100644 structyage_1_1Color-members.html create mode 100644 structyage_1_1Color.html create mode 100644 structyage_1_1Position-members.html create mode 100644 structyage_1_1Position.html create mode 100644 structyage_1_1Texture-members.html create mode 100644 structyage_1_1Texture.html create mode 100644 structyage_1_1UV-members.html create mode 100644 structyage_1_1UV.html create mode 100644 structyage_1_1Vertex-members.html create mode 100644 structyage_1_1Vertex.html create mode 100644 sync_off.png create mode 100644 sync_on.png create mode 100644 tab_a.png create mode 100644 tab_b.png create mode 100644 tab_h.png create mode 100644 tab_s.png create mode 100644 tabs.css create mode 100644 testbench_8hpp_source.html create mode 100644 texture_8hpp_source.html create mode 100644 texturecache_8hpp_source.html create mode 100644 vertex_8hpp_source.html create mode 100644 window_8hpp_source.html create mode 100644 yage_8hpp_source.html diff --git a/annotated.html b/annotated.html new file mode 100644 index 00000000..46bb0699 --- /dev/null +++ b/annotated.html @@ -0,0 +1,109 @@ + + + + + + + +YAGE: Class List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Nyage
 Ndetail
 CRow
 CBody
 CCamera2D
 CCollider
 CCollisionBody
 CColor
 CGlslProgram
 CGlyph
 CImageLoader
 CInputManager
 CIoManager
 CMatrix
 CParticleBody
 CPosition
 CRectangleCollider
 CRenderBatch
 CResourceManager
 CRigidBody
 CSprite
 CSpriteBatch
 CTexture
 CTextureCache
 CUV
 CVector
 CVector2
 CVertex
 CWindow
 CTest
 CTestBench
+
+
+ + + + diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 00000000..224b29aa Binary files /dev/null and b/bc_s.png differ diff --git a/bdwn.png b/bdwn.png new file mode 100644 index 00000000..940a0b95 Binary files /dev/null and b/bdwn.png differ diff --git a/body_8hpp_source.html b/body_8hpp_source.html new file mode 100644 index 00000000..623d10ec --- /dev/null +++ b/body_8hpp_source.html @@ -0,0 +1,81 @@ + + + + + + + +YAGE: include/YAGE/Physics/body.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
body.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * body.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef YAGE_BODY_HPP
10 #define YAGE_BODY_HPP
11 
12 #include "Math/matrix.hpp"
13 
14 namespace yage
15 {
16 
17 class Body
18 {
19 public:
20  // gravity constant
21  static const double GRAVITY;
22 protected:
23  // center of mass of the object
24  Vector2d position_=Vector2d(0, 0);
25 
26  // mass of the object
27  double mass_=1;
28 
29  // current velocity of the object
30  Vector2d velocity_=Vector2d(0, 0);
31 
32  // boolean that defines if gravity can act on the object
33  bool gravity_=true;
34 
35  // current acceleration
36  Vector2d acceleration_=Vector2d(0, 0);
37 
38  // force acting on the body
39  Vector2d force_=Vector2d(0, 0);
40 
41 public:
42  virtual ~Body();
43 
44  // apply force to the object and update the velocity
45  virtual void applyForce(const Vector2d &force)=0;
46  virtual void update()=0;
47 
48  double xPosition() const;
49  double yPosition() const;
50 protected:
51  // protected constructor to initialize member variables
52  Body(const Vector2d &position=Vector2d(0, 0),
53  double mass=1,
54  const Vector2d &velocity=Vector2d(0, 0),
55  bool gravity=false);
56 };
57 
58 } // yage
59 
60 #endif
+
Definition: body.hpp:17
+
Definition: camera2d.hpp:17
+
+ + + + diff --git a/camera2d_8hpp_source.html b/camera2d_8hpp_source.html new file mode 100644 index 00000000..69893449 --- /dev/null +++ b/camera2d_8hpp_source.html @@ -0,0 +1,81 @@ + + + + + + + +YAGE: include/YAGE/camera2d.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
camera2d.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * camera2d.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef CAMERA_2D_HPP
10 #define CAMERA_2D_HPP
11 
12 #include "glslprogram.hpp"
13 
14 #include <glm/glm.hpp>
15 #include <glm/gtc/matrix_transform.hpp>
16 
17 namespace yage
18 {
19 
20 class Camera2D
21 {
22 private:
23  bool matrix_needs_update_=true;
24  float scale_=1;
25  glm::vec2 position_;
26  glm::mat4 camera_matrix_;
27  glm::mat4 ortho_matrix_;
28 
29 public:
30  Camera2D(int screen_width=1280, int screen_height=720);
31  virtual ~Camera2D();
32 
33  // update camera location
34  void update(GlslProgram &program);
35  // camera movement
36  void move(const glm::vec2 &direction);
37 };
38 
39 } // yage
40 
41 #endif
Definition: glslprogram.hpp:19
+
Definition: camera2d.hpp:20
+
Definition: camera2d.hpp:17
+
+ + + + diff --git a/classTestBench-members.html b/classTestBench-members.html new file mode 100644 index 00000000..b7935645 --- /dev/null +++ b/classTestBench-members.html @@ -0,0 +1,81 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
TestBench Member List
+
+
+ +

This is the complete list of members for TestBench, including all inherited members.

+ + + + + +
endTest(bool pass) (defined in TestBench)TestBench
printResults() (defined in TestBench)TestBench
startTest(const std::string &test_name) (defined in TestBench)TestBench
TestBench() (defined in TestBench)TestBenchinline
+ + + + diff --git a/classTestBench.html b/classTestBench.html new file mode 100644 index 00000000..e20c32f4 --- /dev/null +++ b/classTestBench.html @@ -0,0 +1,94 @@ + + + + + + + +YAGE: TestBench Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
TestBench Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

+void startTest (const std::string &test_name)
 
+void endTest (bool pass)
 
+void printResults ()
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classes.html b/classes.html new file mode 100644 index 00000000..ea757ed9 --- /dev/null +++ b/classes.html @@ -0,0 +1,104 @@ + + + + + + + +YAGE: Class Index + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
b | c | g | i | m | p | r | s | t | u | v | w
+ + + + + + + + + + + + + + + +
  b  
+
Glyph (yage)   Position (yage)   SpriteBatch (yage)   Vector2 (yage)   
  i  
+
  r  
+
  t  
+
Vertex (yage)   
Body (yage)   
  w  
+
  c  
+
ImageLoader (yage)   RectangleCollider (yage)   Test   
InputManager (yage)   RenderBatch (yage)   TestBench   Window (yage)   
Camera2D (yage)   IoManager (yage)   ResourceManager (yage)   Texture (yage)   
Collider (yage)   
  m  
+
RigidBody (yage)   TextureCache (yage)   
CollisionBody (yage)   Row (yage::detail)   
  u  
+
Color (yage)   Matrix (yage)   
  s  
+
  g  
+
  p  
+
UV (yage)   
Sprite (yage)   
  v  
+
GlslProgram (yage)   ParticleBody (yage)   
Vector (yage)   
+
b | c | g | i | m | p | r | s | t | u | v | w
+
+ + + + diff --git a/classyage_1_1Body-members.html b/classyage_1_1Body-members.html new file mode 100644 index 00000000..67e96c0e --- /dev/null +++ b/classyage_1_1Body-members.html @@ -0,0 +1,94 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::Body Member List
+
+
+ +

This is the complete list of members for yage::Body, including all inherited members.

+ + + + + + + + + + + + + + +
acceleration_ (defined in yage::Body)yage::Bodyprotected
applyForce(const Vector2d &force)=0 (defined in yage::Body)yage::Bodypure virtual
Body(const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=false) (defined in yage::Body)yage::Bodyprotected
force_ (defined in yage::Body)yage::Bodyprotected
GRAVITY (defined in yage::Body)yage::Bodystatic
gravity_ (defined in yage::Body)yage::Bodyprotected
mass_ (defined in yage::Body)yage::Bodyprotected
position_ (defined in yage::Body)yage::Bodyprotected
update()=0 (defined in yage::Body)yage::Bodypure virtual
velocity_ (defined in yage::Body)yage::Bodyprotected
xPosition() const (defined in yage::Body)yage::Body
yPosition() const (defined in yage::Body)yage::Body
~Body() (defined in yage::Body)yage::Bodyvirtual
+ + + + diff --git a/classyage_1_1Body.html b/classyage_1_1Body.html new file mode 100644 index 00000000..708f8a2d --- /dev/null +++ b/classyage_1_1Body.html @@ -0,0 +1,148 @@ + + + + + + + +YAGE: yage::Body Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::Body Class Referenceabstract
+
+
+
+Inheritance diagram for yage::Body:
+
+
+ + +yage::CollisionBody +yage::ParticleBody +yage::RigidBody + +
+ + + + + + + + + + +

+Public Member Functions

+virtual void applyForce (const Vector2d &force)=0
 
+virtual void update ()=0
 
+double xPosition () const
 
+double yPosition () const
 
+ + + +

+Static Public Attributes

+static const double GRAVITY =-9.81
 
+ + + +

+Protected Member Functions

Body (const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=false)
 
+ + + + + + + + + + + + + +

+Protected Attributes

+Vector2d position_ =Vector2d(0, 0)
 
+double mass_ =1
 
+Vector2d velocity_ =Vector2d(0, 0)
 
+bool gravity_ =true
 
+Vector2d acceleration_ =Vector2d(0, 0)
 
+Vector2d force_ =Vector2d(0, 0)
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1Body.png b/classyage_1_1Body.png new file mode 100644 index 00000000..4343e414 Binary files /dev/null and b/classyage_1_1Body.png differ diff --git a/classyage_1_1Camera2D-members.html b/classyage_1_1Camera2D-members.html new file mode 100644 index 00000000..67296e7b --- /dev/null +++ b/classyage_1_1Camera2D-members.html @@ -0,0 +1,85 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::Camera2D Member List
+
+
+ +

This is the complete list of members for yage::Camera2D, including all inherited members.

+ + + + + +
Camera2D(int screen_width=1280, int screen_height=720) (defined in yage::Camera2D)yage::Camera2D
move(const glm::vec2 &direction) (defined in yage::Camera2D)yage::Camera2D
update(GlslProgram &program) (defined in yage::Camera2D)yage::Camera2D
~Camera2D() (defined in yage::Camera2D)yage::Camera2Dvirtual
+ + + + diff --git a/classyage_1_1Camera2D.html b/classyage_1_1Camera2D.html new file mode 100644 index 00000000..f04ed868 --- /dev/null +++ b/classyage_1_1Camera2D.html @@ -0,0 +1,98 @@ + + + + + + + +YAGE: yage::Camera2D Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::Camera2D Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

Camera2D (int screen_width=1280, int screen_height=720)
 
+void update (GlslProgram &program)
 
+void move (const glm::vec2 &direction)
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1Collider-members.html b/classyage_1_1Collider-members.html new file mode 100644 index 00000000..a859706a --- /dev/null +++ b/classyage_1_1Collider-members.html @@ -0,0 +1,87 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::Collider Member List
+
+
+ +

This is the complete list of members for yage::Collider, including all inherited members.

+ + + + + + + +
Collider(const glm::vec2 &position, const glm::vec2 &size) (defined in yage::Collider)yage::Colliderinline
collides(const Collider &collider) const =0 (defined in yage::Collider)yage::Colliderpure virtual
inside(const glm::vec2 &point) const =0 (defined in yage::Collider)yage::Colliderpure virtual
position_ (defined in yage::Collider)yage::Colliderprotected
size_ (defined in yage::Collider)yage::Colliderprotected
~Collider() (defined in yage::Collider)yage::Colliderinlinevirtual
+ + + + diff --git a/classyage_1_1Collider.html b/classyage_1_1Collider.html new file mode 100644 index 00000000..ba03f593 --- /dev/null +++ b/classyage_1_1Collider.html @@ -0,0 +1,116 @@ + + + + + + + +YAGE: yage::Collider Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::Collider Class Referenceabstract
+
+
+
+Inheritance diagram for yage::Collider:
+
+
+ + +yage::RectangleCollider + +
+ + + + + + + + +

+Public Member Functions

Collider (const glm::vec2 &position, const glm::vec2 &size)
 
+virtual bool collides (const Collider &collider) const =0
 
+virtual bool inside (const glm::vec2 &point) const =0
 
+ + + + + +

+Protected Attributes

+glm::vec2 position_
 
+glm::vec2 size_
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classyage_1_1Collider.png b/classyage_1_1Collider.png new file mode 100644 index 00000000..f00858b9 Binary files /dev/null and b/classyage_1_1Collider.png differ diff --git a/classyage_1_1CollisionBody-members.html b/classyage_1_1CollisionBody-members.html new file mode 100644 index 00000000..6bcc71a8 --- /dev/null +++ b/classyage_1_1CollisionBody-members.html @@ -0,0 +1,96 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::CollisionBody Member List
+
+
+ +

This is the complete list of members for yage::CollisionBody, including all inherited members.

+ + + + + + + + + + + + + + + + +
acceleration_ (defined in yage::Body)yage::Bodyprotected
applyForce(const Vector2d &force)=0 (defined in yage::Body)yage::Bodypure virtual
Body(const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=false) (defined in yage::Body)yage::Bodyprotected
CollisionBody() (defined in yage::CollisionBody)yage::CollisionBody
force_ (defined in yage::Body)yage::Bodyprotected
GRAVITY (defined in yage::Body)yage::Bodystatic
gravity_ (defined in yage::Body)yage::Bodyprotected
mass_ (defined in yage::Body)yage::Bodyprotected
position_ (defined in yage::Body)yage::Bodyprotected
update()=0 (defined in yage::Body)yage::Bodypure virtual
velocity_ (defined in yage::Body)yage::Bodyprotected
xPosition() const (defined in yage::Body)yage::Body
yPosition() const (defined in yage::Body)yage::Body
~Body() (defined in yage::Body)yage::Bodyvirtual
~CollisionBody() (defined in yage::CollisionBody)yage::CollisionBodyvirtual
+ + + + diff --git a/classyage_1_1CollisionBody.html b/classyage_1_1CollisionBody.html new file mode 100644 index 00000000..0835e367 --- /dev/null +++ b/classyage_1_1CollisionBody.html @@ -0,0 +1,136 @@ + + + + + + + +YAGE: yage::CollisionBody Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::CollisionBody Class Reference
+
+
+
+Inheritance diagram for yage::CollisionBody:
+
+
+ + +yage::Body + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from yage::Body
+virtual void applyForce (const Vector2d &force)=0
 
+virtual void update ()=0
 
+double xPosition () const
 
+double yPosition () const
 
- Static Public Attributes inherited from yage::Body
+static const double GRAVITY =-9.81
 
- Protected Member Functions inherited from yage::Body
Body (const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=false)
 
- Protected Attributes inherited from yage::Body
+Vector2d position_ =Vector2d(0, 0)
 
+double mass_ =1
 
+Vector2d velocity_ =Vector2d(0, 0)
 
+bool gravity_ =true
 
+Vector2d acceleration_ =Vector2d(0, 0)
 
+Vector2d force_ =Vector2d(0, 0)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classyage_1_1CollisionBody.png b/classyage_1_1CollisionBody.png new file mode 100644 index 00000000..c297c566 Binary files /dev/null and b/classyage_1_1CollisionBody.png differ diff --git a/classyage_1_1GlslProgram-members.html b/classyage_1_1GlslProgram-members.html new file mode 100644 index 00000000..a762b105 --- /dev/null +++ b/classyage_1_1GlslProgram-members.html @@ -0,0 +1,89 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::GlslProgram Member List
+
+
+ +

This is the complete list of members for yage::GlslProgram, including all inherited members.

+ + + + + + + + + +
addAttribute(const std::string &attribute_name) (defined in yage::GlslProgram)yage::GlslProgram
compileShaders(const std::string &vertex_shader_path, const std::string &fragment_shader_path) (defined in yage::GlslProgram)yage::GlslProgram
getUniformLocation(const std::string &uniform_name) (defined in yage::GlslProgram)yage::GlslProgram
GlslProgram() (defined in yage::GlslProgram)yage::GlslProgram
linkShaders() (defined in yage::GlslProgram)yage::GlslProgram
unuse() (defined in yage::GlslProgram)yage::GlslProgram
use() (defined in yage::GlslProgram)yage::GlslProgram
~GlslProgram() (defined in yage::GlslProgram)yage::GlslProgram
+ + + + diff --git a/classyage_1_1GlslProgram.html b/classyage_1_1GlslProgram.html new file mode 100644 index 00000000..2c07ae30 --- /dev/null +++ b/classyage_1_1GlslProgram.html @@ -0,0 +1,107 @@ + + + + + + + +YAGE: yage::GlslProgram Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::GlslProgram Class Reference
+
+
+ + + + + + + + + + + + + + +

+Public Member Functions

+void compileShaders (const std::string &vertex_shader_path, const std::string &fragment_shader_path)
 
+void linkShaders ()
 
+void addAttribute (const std::string &attribute_name)
 
+GLint getUniformLocation (const std::string &uniform_name)
 
+void use ()
 
+void unuse ()
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1Glyph-members.html b/classyage_1_1Glyph-members.html new file mode 100644 index 00000000..f6c37062 --- /dev/null +++ b/classyage_1_1Glyph-members.html @@ -0,0 +1,88 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::Glyph Member List
+
+
+ +

This is the complete list of members for yage::Glyph, including all inherited members.

+ + + + + + + + +
bottom_left() const (defined in yage::Glyph)yage::Glyphinline
bottom_right() const (defined in yage::Glyph)yage::Glyphinline
depth() const (defined in yage::Glyph)yage::Glyphinline
Glyph(GLuint texture, float depth, const Vertex &top_left, const Vertex &top_right, const Vertex &bottom_right, const Vertex &bottom_left) (defined in yage::Glyph)yage::Glyph
texture() const (defined in yage::Glyph)yage::Glyphinline
top_left() const (defined in yage::Glyph)yage::Glyphinline
top_right() const (defined in yage::Glyph)yage::Glyphinline
+ + + + diff --git a/classyage_1_1Glyph.html b/classyage_1_1Glyph.html new file mode 100644 index 00000000..455dfb3f --- /dev/null +++ b/classyage_1_1Glyph.html @@ -0,0 +1,110 @@ + + + + + + + +YAGE: yage::Glyph Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::Glyph Class Reference
+
+
+ + + + + + + + + + + + + + + + +

+Public Member Functions

Glyph (GLuint texture, float depth, const Vertex &top_left, const Vertex &top_right, const Vertex &bottom_right, const Vertex &bottom_left)
 
+GLuint texture () const
 
+float depth () const
 
+Vertex top_left () const
 
+Vertex top_right () const
 
+Vertex bottom_right () const
 
+Vertex bottom_left () const
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1ImageLoader-members.html b/classyage_1_1ImageLoader-members.html new file mode 100644 index 00000000..eb62da0f --- /dev/null +++ b/classyage_1_1ImageLoader-members.html @@ -0,0 +1,82 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::ImageLoader Member List
+
+
+ +

This is the complete list of members for yage::ImageLoader, including all inherited members.

+ + +
loadPng(const std::string &file_path) (defined in yage::ImageLoader)yage::ImageLoaderstatic
+ + + + diff --git a/classyage_1_1ImageLoader.html b/classyage_1_1ImageLoader.html new file mode 100644 index 00000000..d96b5f49 --- /dev/null +++ b/classyage_1_1ImageLoader.html @@ -0,0 +1,92 @@ + + + + + + + +YAGE: yage::ImageLoader Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::ImageLoader Class Reference
+
+
+ + + + +

+Static Public Member Functions

+static Texture loadPng (const std::string &file_path)
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1InputManager-members.html b/classyage_1_1InputManager-members.html new file mode 100644 index 00000000..74b53d11 --- /dev/null +++ b/classyage_1_1InputManager-members.html @@ -0,0 +1,84 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::InputManager Member List
+
+
+ +

This is the complete list of members for yage::InputManager, including all inherited members.

+ + + + +
isKeyPressed(unsigned key) const (defined in yage::InputManager)yage::InputManager
keyPressed(unsigned key) (defined in yage::InputManager)yage::InputManager
keyReleased(unsigned key) (defined in yage::InputManager)yage::InputManager
+ + + + diff --git a/classyage_1_1InputManager.html b/classyage_1_1InputManager.html new file mode 100644 index 00000000..727d9e36 --- /dev/null +++ b/classyage_1_1InputManager.html @@ -0,0 +1,98 @@ + + + + + + + +YAGE: yage::InputManager Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::InputManager Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

+void keyPressed (unsigned key)
 
+void keyReleased (unsigned key)
 
+bool isKeyPressed (unsigned key) const
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1IoManager-members.html b/classyage_1_1IoManager-members.html new file mode 100644 index 00000000..5b2c7659 --- /dev/null +++ b/classyage_1_1IoManager-members.html @@ -0,0 +1,82 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::IoManager Member List
+
+
+ +

This is the complete list of members for yage::IoManager, including all inherited members.

+ + +
readFileToBuffer(const std::string &file_path, std::vector< unsigned char > &buffer) (defined in yage::IoManager)yage::IoManagerstatic
+ + + + diff --git a/classyage_1_1IoManager.html b/classyage_1_1IoManager.html new file mode 100644 index 00000000..7c3fa4e2 --- /dev/null +++ b/classyage_1_1IoManager.html @@ -0,0 +1,92 @@ + + + + + + + +YAGE: yage::IoManager Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::IoManager Class Reference
+
+
+ + + + +

+Static Public Member Functions

+static bool readFileToBuffer (const std::string &file_path, std::vector< unsigned char > &buffer)
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1Matrix-members.html b/classyage_1_1Matrix-members.html new file mode 100644 index 00000000..a73522d9 --- /dev/null +++ b/classyage_1_1Matrix-members.html @@ -0,0 +1,96 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::Matrix< Rows, Cols, Type > Member List
+
+
+ +

This is the complete list of members for yage::Matrix< Rows, Cols, Type >, including all inherited members.

+ + + + + + + + + + + + + + + + +
begin() (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
colSize() const (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
data_ (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >protected
detail::Row< Rows, Cols, Type > (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >friend
end() (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
getCol(int col) const (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
getRow(int row) const (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
Matrix() (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
operator+=(const Matrix< Rows, Cols, Type > &rhs) (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
operator-=(const Matrix< Rows, Cols, Type > &rhs) (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
operator=(const Matrix< Rows, Cols, Type > &other) (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
operator[](int row) (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
operator[](int row) const (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
rowSize() const (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inline
toString() const (defined in yage::Matrix< Rows, Cols, Type >)yage::Matrix< Rows, Cols, Type >inlinevirtual
+ + + + diff --git a/classyage_1_1Matrix.html b/classyage_1_1Matrix.html new file mode 100644 index 00000000..f03514fc --- /dev/null +++ b/classyage_1_1Matrix.html @@ -0,0 +1,138 @@ + + + + + + + +YAGE: yage::Matrix< Rows, Cols, Type > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::Matrix< Rows, Cols, Type > Class Template Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+int rowSize () const
 
+int colSize () const
 
+Matrix< 1, Cols, Type > getRow (int row) const
 
+Matrix< Rows, 1, Type > getCol (int col) const
 
+std::vector< Type >::iterator begin ()
 
+std::vector< Type >::iterator end ()
 
+virtual std::string toString () const
 
+detail::Row< Rows, Cols, Type > operator[] (int row)
 
+detail::Row< Rows, Cols, Type > operator[] (int row) const
 
+Matrix< Rows, Cols, Type > & operator= (const Matrix< Rows, Cols, Type > &other)
 
+Matrix< Rows, Cols, Type > & operator+= (const Matrix< Rows, Cols, Type > &rhs)
 
+Matrix< Rows, Cols, Type > & operator-= (const Matrix< Rows, Cols, Type > &rhs)
 
+ + + +

+Protected Attributes

+std::vector< Type > data_
 
+ + + +

+Friends

+class detail::Row< Rows, Cols, Type >
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classyage_1_1ParticleBody-members.html b/classyage_1_1ParticleBody-members.html new file mode 100644 index 00000000..5205c061 --- /dev/null +++ b/classyage_1_1ParticleBody-members.html @@ -0,0 +1,95 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::ParticleBody Member List
+
+
+ +

This is the complete list of members for yage::ParticleBody, including all inherited members.

+ + + + + + + + + + + + + + + +
acceleration_ (defined in yage::Body)yage::Bodyprotected
applyForce(const Vector2d &force) (defined in yage::ParticleBody)yage::ParticleBodyvirtual
Body(const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=false) (defined in yage::Body)yage::Bodyprotected
force_ (defined in yage::Body)yage::Bodyprotected
GRAVITY (defined in yage::Body)yage::Bodystatic
gravity_ (defined in yage::Body)yage::Bodyprotected
mass_ (defined in yage::Body)yage::Bodyprotected
ParticleBody(const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=true) (defined in yage::ParticleBody)yage::ParticleBody
position_ (defined in yage::Body)yage::Bodyprotected
update() (defined in yage::ParticleBody)yage::ParticleBodyvirtual
velocity_ (defined in yage::Body)yage::Bodyprotected
xPosition() const (defined in yage::Body)yage::Body
yPosition() const (defined in yage::Body)yage::Body
~Body() (defined in yage::Body)yage::Bodyvirtual
+ + + + diff --git a/classyage_1_1ParticleBody.html b/classyage_1_1ParticleBody.html new file mode 100644 index 00000000..d66c3bd9 --- /dev/null +++ b/classyage_1_1ParticleBody.html @@ -0,0 +1,145 @@ + + + + + + + +YAGE: yage::ParticleBody Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::ParticleBody Class Reference
+
+
+
+Inheritance diagram for yage::ParticleBody:
+
+
+ + +yage::Body +yage::RigidBody + +
+ + + + + + + + + + + + + +

+Public Member Functions

ParticleBody (const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=true)
 
+virtual void applyForce (const Vector2d &force)
 
+virtual void update ()
 
- Public Member Functions inherited from yage::Body
+double xPosition () const
 
+double yPosition () const
 
+ + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Attributes inherited from yage::Body
+static const double GRAVITY =-9.81
 
- Protected Member Functions inherited from yage::Body
Body (const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=false)
 
- Protected Attributes inherited from yage::Body
+Vector2d position_ =Vector2d(0, 0)
 
+double mass_ =1
 
+Vector2d velocity_ =Vector2d(0, 0)
 
+bool gravity_ =true
 
+Vector2d acceleration_ =Vector2d(0, 0)
 
+Vector2d force_ =Vector2d(0, 0)
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1ParticleBody.png b/classyage_1_1ParticleBody.png new file mode 100644 index 00000000..1df7c42f Binary files /dev/null and b/classyage_1_1ParticleBody.png differ diff --git a/classyage_1_1RectangleCollider-members.html b/classyage_1_1RectangleCollider-members.html new file mode 100644 index 00000000..10fe6205 --- /dev/null +++ b/classyage_1_1RectangleCollider-members.html @@ -0,0 +1,88 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::RectangleCollider Member List
+
+
+ +

This is the complete list of members for yage::RectangleCollider, including all inherited members.

+ + + + + + + + +
Collider(const glm::vec2 &position, const glm::vec2 &size) (defined in yage::Collider)yage::Colliderinline
collides(const Collider &collider) const (defined in yage::RectangleCollider)yage::RectangleCollidervirtual
inside(const glm::vec2 &point) const (defined in yage::RectangleCollider)yage::RectangleColliderinlinevirtual
position_ (defined in yage::Collider)yage::Colliderprotected
RectangleCollider(const glm::vec2 &position, const glm::vec2 &size) (defined in yage::RectangleCollider)yage::RectangleCollider
size_ (defined in yage::Collider)yage::Colliderprotected
~Collider() (defined in yage::Collider)yage::Colliderinlinevirtual
+ + + + diff --git a/classyage_1_1RectangleCollider.html b/classyage_1_1RectangleCollider.html new file mode 100644 index 00000000..854c83c6 --- /dev/null +++ b/classyage_1_1RectangleCollider.html @@ -0,0 +1,121 @@ + + + + + + + +YAGE: yage::RectangleCollider Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::RectangleCollider Class Reference
+
+
+
+Inheritance diagram for yage::RectangleCollider:
+
+
+ + +yage::Collider + +
+ + + + + + + + + + + +

+Public Member Functions

RectangleCollider (const glm::vec2 &position, const glm::vec2 &size)
 
+virtual bool collides (const Collider &collider) const
 
+virtual bool inside (const glm::vec2 &point) const
 
- Public Member Functions inherited from yage::Collider
Collider (const glm::vec2 &position, const glm::vec2 &size)
 
+ + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from yage::Collider
+glm::vec2 position_
 
+glm::vec2 size_
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1RectangleCollider.png b/classyage_1_1RectangleCollider.png new file mode 100644 index 00000000..d6857b7c Binary files /dev/null and b/classyage_1_1RectangleCollider.png differ diff --git a/classyage_1_1RenderBatch-members.html b/classyage_1_1RenderBatch-members.html new file mode 100644 index 00000000..5c34631f --- /dev/null +++ b/classyage_1_1RenderBatch-members.html @@ -0,0 +1,85 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::RenderBatch Member List
+
+
+ +

This is the complete list of members for yage::RenderBatch, including all inherited members.

+ + + + + +
num_vertices() const (defined in yage::RenderBatch)yage::RenderBatchinline
offset() const (defined in yage::RenderBatch)yage::RenderBatchinline
RenderBatch(GLint offset, GLsizei num_vertices, GLuint texture) (defined in yage::RenderBatch)yage::RenderBatch
texture() const (defined in yage::RenderBatch)yage::RenderBatchinline
+ + + + diff --git a/classyage_1_1RenderBatch.html b/classyage_1_1RenderBatch.html new file mode 100644 index 00000000..03986bd5 --- /dev/null +++ b/classyage_1_1RenderBatch.html @@ -0,0 +1,101 @@ + + + + + + + +YAGE: yage::RenderBatch Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::RenderBatch Class Reference
+
+
+ + + + + + + + + + +

+Public Member Functions

RenderBatch (GLint offset, GLsizei num_vertices, GLuint texture)
 
+GLint offset () const
 
+GLsizei num_vertices () const
 
+GLuint texture () const
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1ResourceManager-members.html b/classyage_1_1ResourceManager-members.html new file mode 100644 index 00000000..d25f7d09 --- /dev/null +++ b/classyage_1_1ResourceManager-members.html @@ -0,0 +1,82 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::ResourceManager Member List
+
+
+ +

This is the complete list of members for yage::ResourceManager, including all inherited members.

+ + +
getTexture(const std::string &texture_path) (defined in yage::ResourceManager)yage::ResourceManagerstatic
+ + + + diff --git a/classyage_1_1ResourceManager.html b/classyage_1_1ResourceManager.html new file mode 100644 index 00000000..148c37a8 --- /dev/null +++ b/classyage_1_1ResourceManager.html @@ -0,0 +1,92 @@ + + + + + + + +YAGE: yage::ResourceManager Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::ResourceManager Class Reference
+
+
+ + + + +

+Static Public Member Functions

+static Texture getTexture (const std::string &texture_path)
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1RigidBody-members.html b/classyage_1_1RigidBody-members.html new file mode 100644 index 00000000..8a8f6919 --- /dev/null +++ b/classyage_1_1RigidBody-members.html @@ -0,0 +1,96 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::RigidBody Member List
+
+
+ +

This is the complete list of members for yage::RigidBody, including all inherited members.

+ + + + + + + + + + + + + + + + +
acceleration_ (defined in yage::Body)yage::Bodyprotected
applyForce(const Vector2d &force) (defined in yage::ParticleBody)yage::ParticleBodyvirtual
Body(const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=false) (defined in yage::Body)yage::Bodyprotected
force_ (defined in yage::Body)yage::Bodyprotected
GRAVITY (defined in yage::Body)yage::Bodystatic
gravity_ (defined in yage::Body)yage::Bodyprotected
mass_ (defined in yage::Body)yage::Bodyprotected
ParticleBody(const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=true) (defined in yage::ParticleBody)yage::ParticleBody
position_ (defined in yage::Body)yage::Bodyprotected
RigidBody(const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=true) (defined in yage::RigidBody)yage::RigidBody
update() (defined in yage::ParticleBody)yage::ParticleBodyvirtual
velocity_ (defined in yage::Body)yage::Bodyprotected
xPosition() const (defined in yage::Body)yage::Body
yPosition() const (defined in yage::Body)yage::Body
~Body() (defined in yage::Body)yage::Bodyvirtual
+ + + + diff --git a/classyage_1_1RigidBody.html b/classyage_1_1RigidBody.html new file mode 100644 index 00000000..9bd2263c --- /dev/null +++ b/classyage_1_1RigidBody.html @@ -0,0 +1,149 @@ + + + + + + + +YAGE: yage::RigidBody Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::RigidBody Class Reference
+
+
+
+Inheritance diagram for yage::RigidBody:
+
+
+ + +yage::ParticleBody +yage::Body + +
+ + + + + + + + + + + + + + + + +

+Public Member Functions

RigidBody (const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=true)
 
- Public Member Functions inherited from yage::ParticleBody
ParticleBody (const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=true)
 
+virtual void applyForce (const Vector2d &force)
 
+virtual void update ()
 
- Public Member Functions inherited from yage::Body
+double xPosition () const
 
+double yPosition () const
 
+ + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Static Public Attributes inherited from yage::Body
+static const double GRAVITY =-9.81
 
- Protected Member Functions inherited from yage::Body
Body (const Vector2d &position=Vector2d(0, 0), double mass=1, const Vector2d &velocity=Vector2d(0, 0), bool gravity=false)
 
- Protected Attributes inherited from yage::Body
+Vector2d position_ =Vector2d(0, 0)
 
+double mass_ =1
 
+Vector2d velocity_ =Vector2d(0, 0)
 
+bool gravity_ =true
 
+Vector2d acceleration_ =Vector2d(0, 0)
 
+Vector2d force_ =Vector2d(0, 0)
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1RigidBody.png b/classyage_1_1RigidBody.png new file mode 100644 index 00000000..bfa1f2e1 Binary files /dev/null and b/classyage_1_1RigidBody.png differ diff --git a/classyage_1_1Sprite-members.html b/classyage_1_1Sprite-members.html new file mode 100644 index 00000000..93160d07 --- /dev/null +++ b/classyage_1_1Sprite-members.html @@ -0,0 +1,85 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::Sprite Member List
+
+
+ +

This is the complete list of members for yage::Sprite, including all inherited members.

+ + + + + +
draw() (defined in yage::Sprite)yage::Sprite
init(float x, float y, float width, float height, const std::string &texture_path) (defined in yage::Sprite)yage::Sprite
Sprite() (defined in yage::Sprite)yage::Sprite
~Sprite() (defined in yage::Sprite)yage::Sprite
+ + + + diff --git a/classyage_1_1Sprite.html b/classyage_1_1Sprite.html new file mode 100644 index 00000000..4c4c9821 --- /dev/null +++ b/classyage_1_1Sprite.html @@ -0,0 +1,95 @@ + + + + + + + +YAGE: yage::Sprite Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::Sprite Class Reference
+
+
+ + + + + + +

+Public Member Functions

+void init (float x, float y, float width, float height, const std::string &texture_path)
 
+void draw ()
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1SpriteBatch-members.html b/classyage_1_1SpriteBatch-members.html new file mode 100644 index 00000000..e18129de --- /dev/null +++ b/classyage_1_1SpriteBatch-members.html @@ -0,0 +1,89 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::SpriteBatch Member List
+
+
+ +

This is the complete list of members for yage::SpriteBatch, including all inherited members.

+ + + + + + + + + +
begin() (defined in yage::SpriteBatch)yage::SpriteBatch
draw(const glm::vec4 &destination_rect, const glm::vec4 &uv_rect, GLuint texture, const Color &color, float depth) (defined in yage::SpriteBatch)yage::SpriteBatch
end() (defined in yage::SpriteBatch)yage::SpriteBatch
init() (defined in yage::SpriteBatch)yage::SpriteBatch
NUM_VERTICES (defined in yage::SpriteBatch)yage::SpriteBatchstatic
render() (defined in yage::SpriteBatch)yage::SpriteBatch
SpriteBatch() (defined in yage::SpriteBatch)yage::SpriteBatch
~SpriteBatch() (defined in yage::SpriteBatch)yage::SpriteBatch
+ + + + diff --git a/classyage_1_1SpriteBatch.html b/classyage_1_1SpriteBatch.html new file mode 100644 index 00000000..9ffa0317 --- /dev/null +++ b/classyage_1_1SpriteBatch.html @@ -0,0 +1,111 @@ + + + + + + + +YAGE: yage::SpriteBatch Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::SpriteBatch Class Reference
+
+
+ + + + + + + + + + + + +

+Public Member Functions

+void init ()
 
+void begin ()
 
+void end ()
 
+void draw (const glm::vec4 &destination_rect, const glm::vec4 &uv_rect, GLuint texture, const Color &color, float depth)
 
+void render ()
 
+ + + +

+Static Public Attributes

+static const int NUM_VERTICES =6
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1TextureCache-members.html b/classyage_1_1TextureCache-members.html new file mode 100644 index 00000000..451eb7ca --- /dev/null +++ b/classyage_1_1TextureCache-members.html @@ -0,0 +1,84 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::TextureCache Member List
+
+
+ +

This is the complete list of members for yage::TextureCache, including all inherited members.

+ + + + +
getTexture(const std::string &texture_path) (defined in yage::TextureCache)yage::TextureCache
TextureCache() (defined in yage::TextureCache)yage::TextureCache
~TextureCache() (defined in yage::TextureCache)yage::TextureCache
+ + + + diff --git a/classyage_1_1TextureCache.html b/classyage_1_1TextureCache.html new file mode 100644 index 00000000..65c59ccb --- /dev/null +++ b/classyage_1_1TextureCache.html @@ -0,0 +1,92 @@ + + + + + + + +YAGE: yage::TextureCache Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::TextureCache Class Reference
+
+
+ + + + +

+Public Member Functions

+Texture getTexture (const std::string &texture_path)
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1Vector-members.html b/classyage_1_1Vector-members.html new file mode 100644 index 00000000..6781ff8b --- /dev/null +++ b/classyage_1_1Vector-members.html @@ -0,0 +1,97 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::Vector< Rows, Type > Member List
+
+
+ +

This is the complete list of members for yage::Vector< Rows, Type >, including all inherited members.

+ + + + + + + + + + + + + + + + + +
begin() (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
colSize() const (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
data_ (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >protected
end() (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
getCol(int col) const (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
getRow(int row) const (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
Matrix() (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
operator+=(const Matrix< Rows, Cols, Type > &rhs) (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
operator-=(const Matrix< Rows, Cols, Type > &rhs) (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
operator=(const Matrix< Rows, Cols, Type > &other) (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
operator[](int col) (defined in yage::Vector< Rows, Type >)yage::Vector< Rows, Type >inline
operator[](int col) const (defined in yage::Vector< Rows, Type >)yage::Vector< Rows, Type >inline
rowSize() const (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
toString() const (defined in yage::Vector< Rows, Type >)yage::Vector< Rows, Type >inlinevirtual
Vector() (defined in yage::Vector< Rows, Type >)yage::Vector< Rows, Type >inline
Vector(const Matrix< Rows, 1, Type > &other) (defined in yage::Vector< Rows, Type >)yage::Vector< Rows, Type >inlineexplicit
+ + + + diff --git a/classyage_1_1Vector.html b/classyage_1_1Vector.html new file mode 100644 index 00000000..c013696f --- /dev/null +++ b/classyage_1_1Vector.html @@ -0,0 +1,150 @@ + + + + + + + +YAGE: yage::Vector< Rows, Type > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::Vector< Rows, Type > Class Template Reference
+
+
+
+Inheritance diagram for yage::Vector< Rows, Type >:
+
+
+ + +yage::Matrix< Rows, 1, Type > + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Vector (const Matrix< Rows, 1, Type > &other)
 
+Type & operator[] (int col)
 
+const Type & operator[] (int col) const
 
+virtual std::string toString () const
 
- Public Member Functions inherited from yage::Matrix< Rows, 1, Type >
+int rowSize () const
 
+int colSize () const
 
+Matrix< 1, Cols, Type > getRow (int row) const
 
+Matrix< Rows, 1, Type > getCol (int col) const
 
+std::vector< Type >::iterator begin ()
 
+std::vector< Type >::iterator end ()
 
+detail::Row< Rows, Cols, Type > operator[] (int row)
 
+detail::Row< Rows, Cols, Type > operator[] (int row) const
 
+Matrix< Rows, Cols, Type > & operator= (const Matrix< Rows, Cols, Type > &other)
 
+Matrix< Rows, Cols, Type > & operator+= (const Matrix< Rows, Cols, Type > &rhs)
 
+Matrix< Rows, Cols, Type > & operator-= (const Matrix< Rows, Cols, Type > &rhs)
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from yage::Matrix< Rows, 1, Type >
+std::vector< Type > data_
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classyage_1_1Vector.png b/classyage_1_1Vector.png new file mode 100644 index 00000000..ec1fc517 Binary files /dev/null and b/classyage_1_1Vector.png differ diff --git a/classyage_1_1Vector2-members.html b/classyage_1_1Vector2-members.html new file mode 100644 index 00000000..3fbf23ae --- /dev/null +++ b/classyage_1_1Vector2-members.html @@ -0,0 +1,104 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::Vector2< Type > Member List
+
+
+ +

This is the complete list of members for yage::Vector2< Type >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
begin() (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
colSize() const (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
data_ (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >protected
end() (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
getCol(int col) const (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
getRow(int row) const (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
Matrix() (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
operator+=(const Matrix< Rows, Cols, Type > &rhs) (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
operator-=(const Matrix< Rows, Cols, Type > &rhs) (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
operator=(const Matrix< Rows, Cols, Type > &other) (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
operator[](int col) (defined in yage::Vector< 2, Type >)yage::Vector< 2, Type >inline
operator[](int col) const (defined in yage::Vector< 2, Type >)yage::Vector< 2, Type >inline
rowSize() const (defined in yage::Matrix< Rows, 1, Type >)yage::Matrix< Rows, 1, Type >inline
toString() const (defined in yage::Vector< 2, Type >)yage::Vector< 2, Type >inlinevirtual
Vector() (defined in yage::Vector< 2, Type >)yage::Vector< 2, Type >inline
Vector(const Matrix< Rows, 1, Type > &other) (defined in yage::Vector< 2, Type >)yage::Vector< 2, Type >inlineexplicit
Vector2() (defined in yage::Vector2< Type >)yage::Vector2< Type >inline
Vector2(Type x, Type y) (defined in yage::Vector2< Type >)yage::Vector2< Type >inline
Vector2(const Matrix< 2, 1, Type > &other) (defined in yage::Vector2< Type >)yage::Vector2< Type >inline
x() (defined in yage::Vector2< Type >)yage::Vector2< Type >inline
x() const (defined in yage::Vector2< Type >)yage::Vector2< Type >inline
y() (defined in yage::Vector2< Type >)yage::Vector2< Type >inline
y() const (defined in yage::Vector2< Type >)yage::Vector2< Type >inline
+ + + + diff --git a/classyage_1_1Vector2.html b/classyage_1_1Vector2.html new file mode 100644 index 00000000..879b9fe8 --- /dev/null +++ b/classyage_1_1Vector2.html @@ -0,0 +1,170 @@ + + + + + + + +YAGE: yage::Vector2< Type > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::Vector2< Type > Class Template Reference
+
+
+
+Inheritance diagram for yage::Vector2< Type >:
+
+
+ + +yage::Vector< 2, Type > +yage::Matrix< Rows, 1, Type > + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Vector2 (Type x, Type y)
 
Vector2 (const Matrix< 2, 1, Type > &other)
 
+Type & x ()
 
+const Type & x () const
 
+Type & y ()
 
+const Type & y () const
 
- Public Member Functions inherited from yage::Vector< 2, Type >
Vector (const Matrix< Rows, 1, Type > &other)
 
+Type & operator[] (int col)
 
+const Type & operator[] (int col) const
 
+virtual std::string toString () const
 
- Public Member Functions inherited from yage::Matrix< Rows, 1, Type >
+int rowSize () const
 
+int colSize () const
 
+Matrix< 1, Cols, Type > getRow (int row) const
 
+Matrix< Rows, 1, Type > getCol (int col) const
 
+std::vector< Type >::iterator begin ()
 
+std::vector< Type >::iterator end ()
 
+detail::Row< Rows, Cols, Type > operator[] (int row)
 
+detail::Row< Rows, Cols, Type > operator[] (int row) const
 
+Matrix< Rows, Cols, Type > & operator= (const Matrix< Rows, Cols, Type > &other)
 
+Matrix< Rows, Cols, Type > & operator+= (const Matrix< Rows, Cols, Type > &rhs)
 
+Matrix< Rows, Cols, Type > & operator-= (const Matrix< Rows, Cols, Type > &rhs)
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from yage::Matrix< Rows, 1, Type >
+std::vector< Type > data_
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classyage_1_1Vector2.png b/classyage_1_1Vector2.png new file mode 100644 index 00000000..20f24356 Binary files /dev/null and b/classyage_1_1Vector2.png differ diff --git a/classyage_1_1Window-members.html b/classyage_1_1Window-members.html new file mode 100644 index 00000000..8cf6d57e --- /dev/null +++ b/classyage_1_1Window-members.html @@ -0,0 +1,86 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::Window Member List
+
+
+ +

This is the complete list of members for yage::Window, including all inherited members.

+ + + + + + +
clearBuffer() (defined in yage::Window)yage::Window
create(const std::string &window_name, int width, int height, unsigned flags=WindowFlags::SHOWN) (defined in yage::Window)yage::Window
swapBuffer() (defined in yage::Window)yage::Window
Window() (defined in yage::Window)yage::Window
~Window() (defined in yage::Window)yage::Window
+ + + + diff --git a/classyage_1_1Window.html b/classyage_1_1Window.html new file mode 100644 index 00000000..75cd924a --- /dev/null +++ b/classyage_1_1Window.html @@ -0,0 +1,98 @@ + + + + + + + +YAGE: yage::Window Class Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::Window Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

+void create (const std::string &window_name, int width, int height, unsigned flags=WindowFlags::SHOWN)
 
+void swapBuffer ()
 
+void clearBuffer ()
 
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classyage_1_1detail_1_1Row-members.html b/classyage_1_1detail_1_1Row-members.html new file mode 100644 index 00000000..11a58699 --- /dev/null +++ b/classyage_1_1detail_1_1Row-members.html @@ -0,0 +1,84 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
yage::detail::Row< Rows, Cols, Type > Member List
+
+
+ +

This is the complete list of members for yage::detail::Row< Rows, Cols, Type >, including all inherited members.

+ + + + +
operator[](int col) (defined in yage::detail::Row< Rows, Cols, Type >)yage::detail::Row< Rows, Cols, Type >inline
operator[](int col) const (defined in yage::detail::Row< Rows, Cols, Type >)yage::detail::Row< Rows, Cols, Type >inline
Row(Matrix< Rows, Cols, Type > *parent, int index) (defined in yage::detail::Row< Rows, Cols, Type >)yage::detail::Row< Rows, Cols, Type >inline
+ + + + diff --git a/classyage_1_1detail_1_1Row.html b/classyage_1_1detail_1_1Row.html new file mode 100644 index 00000000..dae8b956 --- /dev/null +++ b/classyage_1_1detail_1_1Row.html @@ -0,0 +1,97 @@ + + + + + + + +YAGE: yage::detail::Row< Rows, Cols, Type > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
yage::detail::Row< Rows, Cols, Type > Class Template Reference
+
+
+ + + + + + + + +

+Public Member Functions

Row (Matrix< Rows, Cols, Type > *parent, int index)
 
+Type & operator[] (int col)
 
+const Type & operator[] (int col) const
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/closed.png b/closed.png new file mode 100644 index 00000000..98cc2c90 Binary files /dev/null and b/closed.png differ diff --git a/collider_8hpp_source.html b/collider_8hpp_source.html new file mode 100644 index 00000000..7dfb2ddb --- /dev/null +++ b/collider_8hpp_source.html @@ -0,0 +1,80 @@ + + + + + + + +YAGE: include/YAGE/Physics/collider.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
collider.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * collider.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef YAGE_COLLIDER_HPP
10 #define YAGE_COLLIDER_HPP
11 
12 #include <glm/glm.hpp>
13 
14 namespace yage
15 {
16 
17 // The Collider class helps collision detection by providing a general shape
18 // for different shapes to have their own collision algorithms.
19 class Collider
20 {
21 protected:
22  // position of the object
23  glm::vec2 position_;
24 
25  // size of the object
26  glm::vec2 size_;
27 
28 public:
29  Collider(const glm::vec2 &position, const glm::vec2 &size) : position_(position), size_(size) {}
30 
31  // virtual deconstructor for classes that inherits
32  virtual ~Collider() {}
33 
34  // function that checks if two colliders are colliding
35  virtual bool collides(const Collider &collider) const=0;
36 
37  // function that returns if a point is inside the shape
38  virtual bool inside(const glm::vec2 &point) const=0;
39 };
40 
41 } // yage
42 
43 #endif
Definition: collider.hpp:19
+
Definition: camera2d.hpp:17
+
+ + + + diff --git a/collisionbody_8hpp_source.html b/collisionbody_8hpp_source.html new file mode 100644 index 00000000..7706914e --- /dev/null +++ b/collisionbody_8hpp_source.html @@ -0,0 +1,81 @@ + + + + + + + +YAGE: include/YAGE/Physics/collisionbody.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
collisionbody.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * collisionbody.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef YAGE_COLLISION_BODY_HPP
10 #define YAGE_COLLISION_BODY_HPP
11 
12 #include "Physics/body.hpp"
13 
14 namespace yage
15 {
16 
17 // a collision body will be a body that is static and not affected by gravity,
18 // with infinite mass
19 class CollisionBody : public Body
20 {
21 public:
22  CollisionBody();
23  virtual ~CollisionBody();
24 };
25 
26 } // yage
27 
28 #endif
Definition: body.hpp:17
+
Definition: collisionbody.hpp:19
+
Definition: camera2d.hpp:17
+
+ + + + diff --git a/dir_13e138d54eb8818da29c3992edef070a.html b/dir_13e138d54eb8818da29c3992edef070a.html new file mode 100644 index 00000000..316423be --- /dev/null +++ b/dir_13e138d54eb8818da29c3992edef070a.html @@ -0,0 +1,78 @@ + + + + + + + +YAGE: test Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
test Directory Reference
+
+
+
+ + + + diff --git a/dir_5ac3a90c14a160db9539610948ce4998.html b/dir_5ac3a90c14a160db9539610948ce4998.html new file mode 100644 index 00000000..f14855f3 --- /dev/null +++ b/dir_5ac3a90c14a160db9539610948ce4998.html @@ -0,0 +1,78 @@ + + + + + + + +YAGE: include/YAGE/Math Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Math Directory Reference
+
+
+
+ + + + diff --git a/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 00000000..f8d37264 --- /dev/null +++ b/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,78 @@ + + + + + + + +YAGE: src Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
src Directory Reference
+
+
+
+ + + + diff --git a/dir_b233a2caca2b45d5ef987dbbf49782d0.html b/dir_b233a2caca2b45d5ef987dbbf49782d0.html new file mode 100644 index 00000000..0eff5f63 --- /dev/null +++ b/dir_b233a2caca2b45d5ef987dbbf49782d0.html @@ -0,0 +1,78 @@ + + + + + + + +YAGE: include/YAGE/Physics Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Physics Directory Reference
+
+
+
+ + + + diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 00000000..d6c6989c --- /dev/null +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,82 @@ + + + + + + + +YAGE: include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + +

+Directories

+
+ + + + diff --git a/dir_f562165b51c585c003877be645f219b5.html b/dir_f562165b51c585c003877be645f219b5.html new file mode 100644 index 00000000..f420d857 --- /dev/null +++ b/dir_f562165b51c585c003877be645f219b5.html @@ -0,0 +1,82 @@ + + + + + + + +YAGE: include/YAGE Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
YAGE Directory Reference
+
+
+ + +

+Directories

+
+ + + + diff --git a/doc.png b/doc.png new file mode 100644 index 00000000..17edabff Binary files /dev/null and b/doc.png differ diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 00000000..4f1ab919 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/doxygen.png b/doxygen.png new file mode 100644 index 00000000..3ff17d80 Binary files /dev/null and b/doxygen.png differ diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 00000000..85e18369 --- /dev/null +++ b/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +YAGE: File List + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  include
  YAGE
  Math
 math.hpp
 matrix.hpp
  Physics
 body.hpp
 collider.hpp
 collisionbody.hpp
 particlebody.hpp
 physics.hpp
 rectanglecollider.hpp
 rigidbody.hpp
 camera2d.hpp
 glslprogram.hpp
 imageloader.hpp
 inputmanager.hpp
 iomanager.hpp
 picopng.hpp
 resourcemanager.hpp
 sprite.hpp
 spritebatch.hpp
 texture.hpp
 texturecache.hpp
 vertex.hpp
 window.hpp
 yage.hpp
  test
 testbench.hpp
+
+
+ + + + diff --git a/folderclosed.png b/folderclosed.png new file mode 100644 index 00000000..bb8ab35e Binary files /dev/null and b/folderclosed.png differ diff --git a/folderopen.png b/folderopen.png new file mode 100644 index 00000000..d6c7f676 Binary files /dev/null and b/folderopen.png differ diff --git a/glslprogram_8hpp_source.html b/glslprogram_8hpp_source.html new file mode 100644 index 00000000..76206cb1 --- /dev/null +++ b/glslprogram_8hpp_source.html @@ -0,0 +1,80 @@ + + + + + + + +YAGE: include/YAGE/glslprogram.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
glslprogram.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * glslprogram.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef GLSL_PROGRAM_HPP
10 #define GLSL_PROGRAM_HPP
11 
12 #include <GL/glew.h>
13 
14 #include <string>
15 
16 namespace yage
17 {
18 
20 {
21 private:
22  // compiled shader program id
23  GLuint program_id_ = 0;
24  GLuint vertex_shader_id_ = 0;
25  GLuint fragment_shader_id_ = 0;
26  int attribute_index_ = 0;
27 
28  // compiles one shader
29  void compileShader(const GLuint &shader, const std::string &file_path);
30 public:
31  GlslProgram();
32  ~GlslProgram();
33 
34  // compiles vertex and fragment shader
35  void compileShaders(const std::string &vertex_shader_path, const std::string &fragment_shader_path);
36  void linkShaders();
37  void addAttribute(const std::string &attribute_name);
38  GLint getUniformLocation(const std::string &uniform_name);
39  void use();
40  void unuse();
41 };
42 
43 } // yage
44 
45 #endif
Definition: glslprogram.hpp:19
+
Definition: camera2d.hpp:17
+
+ + + + diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 00000000..529ec849 --- /dev/null +++ b/hierarchy.html @@ -0,0 +1,112 @@ + + + + + + + +YAGE: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+ + + + + diff --git a/imageloader_8hpp_source.html b/imageloader_8hpp_source.html new file mode 100644 index 00000000..936a76a7 --- /dev/null +++ b/imageloader_8hpp_source.html @@ -0,0 +1,81 @@ + + + + + + + +YAGE: include/YAGE/imageloader.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
imageloader.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * imageloader.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef IMAGE_LOADER_HPP
10 #define IMAGE_LOADER_HPP
11 
12 #include "texture.hpp"
13 
14 #include <string>
15 
16 namespace yage
17 {
18 
20 {
21 public:
22  static Texture loadPng(const std::string &file_path);
23 };
24 
25 } // yage
26 
27 #endif
Definition: imageloader.hpp:19
+
Definition: texture.hpp:17
+
Definition: camera2d.hpp:17
+
+ + + + diff --git a/index.html b/index.html new file mode 100644 index 00000000..2dde1fcf --- /dev/null +++ b/index.html @@ -0,0 +1,74 @@ + + + + + + + +YAGE: Main Page + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
YAGE Documentation
+
+
+
+ + + + diff --git a/inputmanager_8hpp_source.html b/inputmanager_8hpp_source.html new file mode 100644 index 00000000..8e125d76 --- /dev/null +++ b/inputmanager_8hpp_source.html @@ -0,0 +1,80 @@ + + + + + + + +YAGE: include/YAGE/inputmanager.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
inputmanager.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * inputmanager.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef INPUT_MANAGER_HPP
10 #define INPUT_MANAGER_HPP
11 
12 #include <unordered_map>
13 
14 namespace yage
15 {
16 
18 {
19 private:
20  std::unordered_map<unsigned, bool> key_map_;
21 
22 public:
23  void keyPressed(unsigned key);
24  void keyReleased(unsigned key);
25  bool isKeyPressed(unsigned key) const;
26 };
27 
28 }
29 #endif
Definition: inputmanager.hpp:17
+
Definition: camera2d.hpp:17
+
+ + + + diff --git a/iomanager_8hpp_source.html b/iomanager_8hpp_source.html new file mode 100644 index 00000000..0e026024 --- /dev/null +++ b/iomanager_8hpp_source.html @@ -0,0 +1,80 @@ + + + + + + + +YAGE: include/YAGE/iomanager.hpp Source File + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
iomanager.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * iomanager.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef IO_MANAGER_HPP
10 #define IO_MANAGER_HPP
11 
12 #include <string>
13 #include <vector>
14 
15 namespace yage
16 {
17 
18 class IoManager
19 {
20 public:
21  static bool readFileToBuffer(const std::string &file_path, std::vector<unsigned char> &buffer);
22 };
23 
24 } // yage
25 
26 #endif
Definition: iomanager.hpp:18
+
Definition: camera2d.hpp:17
+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 00000000..f5343eda --- /dev/null +++ b/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + + + +
+
+
math.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * math.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef YAGE_MATH_HPP
10 #define YAGE_MATH_HPP
11 
12 #include "matrix.hpp"
13 
14 #endif
+ + + + diff --git a/matrix_8hpp_source.html b/matrix_8hpp_source.html new file mode 100644 index 00000000..7b652138 --- /dev/null +++ b/matrix_8hpp_source.html @@ -0,0 +1,83 @@ + + + + + + + +YAGE: include/YAGE/Math/matrix.hpp Source File + + + + + + + + + +
+
+
+ + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+ + + + + + + + + +
+
+ + +
+ +
+ + + +
+
+
matrix.hpp
+
+
+
1 /* ----------------------------------------------------------------------------
2  * matrix.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef YAGE_MATH_MATRIX_HPP
10 #define YAGE_MATH_MATRIX_HPP
11 
12 #include <algorithm>
13 #include <exception>
14 #include <iostream>
15 #include <sstream>
16 #include <string>
17 #include <vector>
18 
19 namespace yage
20 {
21 
22 template<int Rows, int Cols, class Type> class Matrix;
23 
24 // includes implementation details that should not be accessible to the user
25 namespace detail
26 {
27 
28 // Row class
29 //
30 // Used to implement the double square bracket operator and be able
31 // to return the value by reference of the array.
32 template<int Rows, int Cols, class Type> class Row
33 {
34 private:
35  Matrix<Rows, Cols, Type> *parent_;
36  int index_;
37 
38 public:
40  parent_(parent), index_(index)
41  {}
42 
43  Type& operator[](int col)
44  {
45  // the index is the y-position of the element in the matrix
46  return parent_->data_[index_*Cols+col];
47  }
48 
49  const Type& operator[](int col) const
50  {
51  return parent_->data_[index_*Cols+col];
52  }
53 };
54 
55 } // detail
56 
57 // Matrix class
58 //
59 // Implements the base Matrix class that is inherited by other classes to make them more
60 // specific.
61 template<int Rows=4, int Cols=4, class Type=double> class Matrix
62 {
63  // friended with the row class so that it can access protected member data
64  friend class detail::Row<Rows, Cols, Type>;
65 protected:
66  std::vector<Type> data_;
67 
68 public:
69  Matrix<Rows, Cols, Type>() : data_(Rows*Cols) {}
70 
71  int rowSize() const
72  {
73  return Rows;
74  }
75 
76  int colSize() const
77  {
78  return Cols;
79  }
80 
81  // returns the row in a row matrix
82  Matrix<1, Cols, Type> getRow(int row) const
83  {
84  Matrix<1, Cols, Type> rowMatrix;
85  for(int i=0; i<Cols; ++i)
86  {
87  rowMatrix[0][i]=data_[row][i];
88  }
89  return rowMatrix;
90  }
91 
92  // returns the column in a column matrix
93  Matrix<Rows, 1, Type> getCol(int col) const
94  {
95  Matrix<Rows, 1, Type> colMatrix;
96  for(int i=0; i<Rows; ++i)
97  {
98  colMatrix[i][0]=data_[i][col];
99  }
100  return colMatrix;
101  }
102 
103  // iterator support for begin
104  typename std::vector<Type>::iterator begin()
105  {
106  return data_.begin();
107  }
108 
109  // iterator support for end
110  typename std::vector<Type>::iterator end()
111  {
112  return data_.end();
113  }
114 
115  // prints out the matrix, but can also be implemented by other classes to print data
116  // differently
117  virtual std::string toString() const
118  {
119  std::stringstream ss;
120  ss<<'[';
121  for(int i=0; i<Rows-1; ++i)
122  {
123  ss<<'[';
124  for(int j=0; j<Cols-1; ++j)
125  {
126  ss<<data_[i*Cols+j]<<' ';
127  }
128  ss<<data_[(Rows-1)*Cols+Cols-1]<<"],";
129  }
130  ss<<'[';
131  for(int j=0; j<Cols-1; ++j)
132  {
133  ss<<data_[(Rows-1)*Cols+j]<<' ';
134  }
135  ss<<data_[(Rows-1)*Cols+Cols-1]<<"]]";
136  return ss.str();
137  }
138 
139  detail::Row<Rows, Cols, Type> operator[](int row)
140  {
141  return detail::Row<Rows, Cols, Type>(this, row);
142  }
143 
144  detail::Row<Rows, Cols, Type> operator[](int row) const
145  {
146  // TODO got to fix this
148  }
149 
150  Matrix<Rows, Cols, Type>& operator=(const Matrix<Rows, Cols, Type> &other)
151  {
152  if(this!=&other)
153  {
154  data_=other.data_;
155  }
156  return *this;
157  }
158 
159  Matrix<Rows, Cols, Type>& operator+=(const Matrix<Rows, Cols, Type> &rhs)
160  {
161  std::vector<Type> out;
162  out.reserve(data_.size());
163  std::transform(data_.begin(), data_.end(), rhs.data_.begin(), std::back_inserter(out),
164  [] (Type a, Type b) {
165  return a+b;
166  });
167  data_=std::move(out);
168  return *this;
169  }
170 
171  Matrix<Rows, Cols, Type>& operator-=(const Matrix<Rows, Cols, Type> &rhs)
172  {
173  std::vector<Type> out;
174  out.reserve(data_.size());
175  std::transform(data_.begin(), data_.end(), rhs.begin(), std::back_inserter(out),
176  [] (Type a, Type b) {
177  return a-b;
178  });
179  data_=std::move(out);
180  return *this;
181  }
182 };
183 
184 template<int M, int N, class T>
185 Matrix<M, N, T> operator+(Matrix<M, N, T> lhs, const Matrix<M, N, T> &rhs)
186 {
187  lhs+=rhs;
188  return lhs;
189 }
190 
191 template<int M, int N, class T>
192 Matrix<M, N, T> operator-(Matrix<M, N, T> lhs, const Matrix<M, N, T> &rhs)
193 {
194  lhs-=rhs;
195  return lhs;
196 }
197 
198 template<int M, int N, class T>
199 Matrix<M, N, T> operator+(Matrix<M, N, T> lhs, const T &rhs)
200 {
201  for(auto &data : lhs)
202  {
203  data+=rhs;
204  }
205  return lhs;
206 }
207 
208 template<int M, int N, class T>
209 Matrix<M, N, T> operator+(const T &lhs, Matrix<M, N, T> rhs)
210 {
211  for(auto &data : rhs)
212  {
213  data+=lhs;
214  }
215  return rhs;
216 }
217 
218 template<int M, int N, class T>
219 Matrix<M, N, T> operator-(Matrix<M, N, T> lhs, const T &rhs)
220 {
221  for(auto &data : lhs)
222  {
223  data-=rhs;
224  }
225  return lhs;
226 }
227 
228 template<int M, int N, class T>
229 Matrix<M, N, T> operator-(const T &lhs, Matrix<M, N, T> rhs)
230 {
231  for(auto &data : rhs)
232  {
233  data=lhs-data;
234  }
235  return rhs;
236 }
237 
238 template<int M, int N, class T>
239 Matrix<M, N, T> operator*(Matrix<M, N, T> lhs, const T &rhs)
240 {
241  for(auto &data : lhs)
242  {
243  data*=rhs;
244  }
245  return lhs;
246 }
247 
248 template<int M, int N, class T>
249 Matrix<M, N, T> operator*(const T &lhs, Matrix<M, N, T> rhs)
250 {
251  for(auto &data : rhs)
252  {
253  data*=lhs;
254  }
255  return rhs;
256 }
257 
258 template<int M, int N, class T>
259 Matrix<M, N, T> operator/(Matrix<M, N, T> lhs, const T &rhs)
260 {
261  for(auto &data : lhs)
262  {
263  data/=rhs;
264  }
265  return lhs;
266 }
267 
268 template<int M, int N, class T>
269 bool operator==(const Matrix<M, N, T> &lhs, const Matrix<M, N, T> &rhs)
270 {
271  for(int i=0; i<M; ++i)
272  for(int j=0; j<N; ++j)
273  if(lhs[i][j]!=rhs[i][j])
274  return false;
275  return true;
276 }
277 
278 template<int M, int N, class T>
279 std::ostream& operator<<(std::ostream &os, const Matrix<M, N, T> &mat)
280 {
281  return os<<mat.toString();
282 }
283 
284 template<int Rows=2, class Type=double> class Vector : public Matrix<Rows, 1, Type>
285 {
286 public:
288  explicit Vector<Rows, Type>(const Matrix<Rows, 1, Type> &other) : Matrix<Rows, 1, Type>(other) {}
289 
290  Type& operator[](int col)
291  {
292  return this->data_[col];
293  }
294 
295  const Type& operator[](int col) const
296  {
297  return this->data_[col];
298  }
299 
300  virtual std::string toString() const
301  {
302  std::stringstream ss;
303  ss<<"[";
304  for(std::size_t i=0; i<this->data_.size()-1; ++i)
305  {
306  ss<<this->data_[i]<<" ";
307  }
308  ss<<this->data_[this->data_.size()-1]<<"]";
309  return ss.str();
310  }
311 };
312 
313 template<class Type=double> class Vector2 : public Vector<2, Type>
314 {
315 public:
317 
318  Vector2<Type>(Type x, Type y)
319  {
320  this->data_[0]=x;
321  this->data_[1]=y;
322  }
323 
324  Vector2<Type>(const Matrix<2, 1, Type> &other) : Vector<2, Type>(other) {}
325 
326  Type& x()
327  {
328  return this->data_[0];
329  }
330 
331  const Type& x() const
332  {
333  return this->data_[0];
334  }
335 
336  Type& y()
337  {
338  return this->data_[1];
339  }
340 
341  const Type& y() const
342  {
343  return this->data_[1];
344  }
345 };
346 
347 typedef Vector2<double> Vector2d;
348 
349 namespace matrix
350 {
351 
352 template<int M, int N, class T> Matrix<N, M, T> transpose(const Matrix<M, N, T> &m)
353 {
354  Matrix<N, M, T> trans;
355  for(int i=0; i<M; ++i)
356  {
357  for(int j=0; j<N; ++j)
358  {
359  trans[j][i]=m[i][j];
360  }
361  }
362  return trans;
363 }
364 
365 template<int R, class T> T dot(const Matrix<R, 1, T> &m1, const Matrix<R, 1, T> &m2)
366 {
367  T sum=0;
368  for(int i=0; i<R; ++i)
369  {
370  sum += m1[i][0]*m2[i][0];
371  }
372  return sum;
373 }
374 
375 template<int M, int N, int P, int Q, class T>
376 Matrix<M, Q, T> multiply(const Matrix<M, N, T> &m1, const Matrix<P, Q, T> &m2)
377 {
378  if(N!=P)
379  {
380  throw std::runtime_error("Matrices don't have the right dimensions for multiplication");
381  }
382 
383  Matrix<M, Q, T> res;
384 
385  for(int i=0; i<M; ++i)
386  {
387  for(int j=0; j<Q; ++j)
388  {
389  res[i][j] = dot(transpose(m1.getRow(i)), m2.getCol(j));
390  }
391  }
392 
393  return res;
394 }
395 
396 } // matrix
397 
398 } // yage
399 
400 #endif
Definition: matrix.hpp:313
+
Definition: matrix.hpp:32
+
Definition: matrix.hpp:284
+
Definition: matrix.hpp:22
+
Definition: camera2d.hpp:17
+
+ + + + diff --git a/md_README.html b/md_README.html new file mode 100644 index 00000000..87d55e80 --- /dev/null +++ b/md_README.html @@ -0,0 +1,77 @@ + + + + + + + +YAGE: YAGE + + + + + + + + + +
+
+ + + + + + +
+
YAGE +
+
Yet Another Game Engine
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
YAGE
+
+
+

YAGE stands for Yet Another Game Engine.

+

License

+

Copyright (c) 2017 Yann Herklotz Grave ymher.nosp@m.klot.nosp@m.z@gma.nosp@m.il.c.nosp@m.om – MIT License, see file LICENSE for more details.

+
+ + + + diff --git a/menu.js b/menu.js new file mode 100644 index 00000000..97db4c23 --- /dev/null +++ b/menu.js @@ -0,0 +1,26 @@ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} diff --git a/menudata.js b/menudata.js new file mode 100644 index 00000000..3dd54f75 --- /dev/null +++ b/menudata.js @@ -0,0 +1,9 @@ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Hierarchy",url:"hierarchy.html"}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}]}]} diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 00000000..72a58a52 Binary files /dev/null and b/nav_f.png differ diff --git a/nav_g.png b/nav_g.png new file mode 100644 index 00000000..2093a237 Binary files /dev/null and b/nav_g.png differ diff --git a/nav_h.png b/nav_h.png new file mode 100644 index 00000000..33389b10 Binary files /dev/null and b/nav_h.png differ diff --git a/open.png b/open.png new file mode 100644 index 00000000..30f75c7e Binary files /dev/null and b/open.png differ diff --git a/pages.html b/pages.html new file mode 100644 index 00000000..2cd05aae --- /dev/null +++ b/pages.html @@ -0,0 +1,79 @@ + + + + + + + +YAGE: Related Pages + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    +
    +
    Here is a list of all related documentation pages:
    + + +
     YAGE
    +
    +
    + + + + diff --git a/particlebody_8hpp_source.html b/particlebody_8hpp_source.html new file mode 100644 index 00000000..4d0fb0c3 --- /dev/null +++ b/particlebody_8hpp_source.html @@ -0,0 +1,82 @@ + + + + + + + +YAGE: include/YAGE/Physics/particlebody.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    particlebody.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * particlebody.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef YAGE_PARTICLE_BODY_HPP
    10 #define YAGE_PARTICLE_BODY_HPP
    11 
    12 #include "Math/matrix.hpp"
    13 
    14 #include "body.hpp"
    15 
    16 namespace yage
    17 {
    18 
    19 class ParticleBody : public Body
    20 {
    21 public:
    22  ParticleBody(const Vector2d &position=Vector2d(0, 0),
    23  double mass=1,
    24  const Vector2d &velocity=Vector2d(0, 0),
    25  bool gravity=true);
    26 
    27  // apply a force to the rigid body
    28  virtual void applyForce(const Vector2d &force);
    29  virtual void update();
    30 };
    31 
    32 } // yage
    33 
    34 #endif
    +
    Definition: particlebody.hpp:19
    +
    Definition: body.hpp:17
    +
    Definition: camera2d.hpp:17
    +
    + + + + diff --git a/physics_8hpp_source.html b/physics_8hpp_source.html new file mode 100644 index 00000000..f2a3d8f4 --- /dev/null +++ b/physics_8hpp_source.html @@ -0,0 +1,78 @@ + + + + + + + +YAGE: include/YAGE/Physics/physics.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    physics.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * physics.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef YAGE_PHYSICS_HPP
    10 #define YAGE_PHYSICS_HPP
    11 
    12 #include "body.hpp"
    13 #include "collider.hpp"
    14 #include "collisionbody.hpp"
    15 #include "particlebody.hpp"
    16 #include "rectanglecollider.hpp"
    17 #include "rigidbody.hpp"
    18 
    19 #endif
    + + + + diff --git a/picopng_8hpp_source.html b/picopng_8hpp_source.html new file mode 100644 index 00000000..92e48e6d --- /dev/null +++ b/picopng_8hpp_source.html @@ -0,0 +1,79 @@ + + + + + + + +YAGE: include/YAGE/picopng.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    picopng.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * picopng.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #include <vector>
    10 #include <cstdlib>
    11 
    12 namespace yage
    13 {
    14 
    15 extern int decodePNG(std::vector<unsigned char> &out_image, unsigned long &image_width, unsigned long &image_height, const unsigned char *in_png, size_t in_size, bool convert_to_rgba32 = true);
    16 
    17 } // yage
    Definition: camera2d.hpp:17
    +
    + + + + diff --git a/rectanglecollider_8hpp_source.html b/rectanglecollider_8hpp_source.html new file mode 100644 index 00000000..ef771633 --- /dev/null +++ b/rectanglecollider_8hpp_source.html @@ -0,0 +1,81 @@ + + + + + + + +YAGE: include/YAGE/Physics/rectanglecollider.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    rectanglecollider.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * rectanglecollider.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef YAGE_RECTANGLE_COLLIDER_HPP
    10 #define YAGE_RECTANGLE_COLLIDER_HPP
    11 
    12 #include "Physics/collider.hpp"
    13 
    14 #include <glm/glm.hpp>
    15 
    16 namespace yage
    17 {
    18 
    20 {
    21 public:
    22  RectangleCollider(const glm::vec2 &position, const glm::vec2 &size);
    23 
    24  virtual bool collides(const Collider &collider) const;
    25  virtual bool inside(const glm::vec2 &point) const;
    26 };
    27 
    28 } // yage
    29 
    30 #endif
    Definition: rectanglecollider.hpp:19
    +
    Definition: collider.hpp:19
    +
    Definition: camera2d.hpp:17
    +
    + + + + diff --git a/resourcemanager_8hpp_source.html b/resourcemanager_8hpp_source.html new file mode 100644 index 00000000..3ae1ac86 --- /dev/null +++ b/resourcemanager_8hpp_source.html @@ -0,0 +1,82 @@ + + + + + + + +YAGE: include/YAGE/resourcemanager.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    resourcemanager.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * resourcemanager.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef RESOURCE_MANAGER_HPP
    10 #define RESOURCE_MANAGER_HPP
    11 
    12 #include "texture.hpp"
    13 #include "texturecache.hpp"
    14 
    15 #include <string>
    16 
    17 namespace yage
    18 {
    19 
    21 {
    22 private:
    23  static TextureCache texture_cache_;
    24 public:
    25  static Texture getTexture(const std::string &texture_path);
    26 };
    27 
    28 } // yage
    29 
    30 #endif
    Definition: resourcemanager.hpp:20
    +
    Definition: texture.hpp:17
    +
    Definition: texturecache.hpp:19
    +
    Definition: camera2d.hpp:17
    +
    + + + + diff --git a/rigidbody_8hpp_source.html b/rigidbody_8hpp_source.html new file mode 100644 index 00000000..dca867bc --- /dev/null +++ b/rigidbody_8hpp_source.html @@ -0,0 +1,82 @@ + + + + + + + +YAGE: include/YAGE/Physics/rigidbody.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    rigidbody.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * rigidbody.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef YAGE_RIGID_BODY_HPP
    10 #define YAGE_RIGID_BODY_HPP
    11 
    12 #include <glm/glm.hpp>
    13 
    14 #include "particlebody.hpp"
    15 
    16 namespace yage
    17 {
    18 
    19 class RigidBody : public ParticleBody
    20 {
    21 public:
    22  RigidBody(const Vector2d &position=Vector2d(0, 0),
    23  double mass=1,
    24  const Vector2d &velocity=Vector2d(0, 0),
    25  bool gravity=true);
    26 };
    27 
    28 } // yage
    29 
    30 #endif
    +
    Definition: particlebody.hpp:19
    +
    Definition: rigidbody.hpp:19
    +
    Definition: camera2d.hpp:17
    +
    + + + + diff --git a/search/all_0.html b/search/all_0.html new file mode 100644 index 00000000..f25360b7 --- /dev/null +++ b/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 00000000..967cc615 --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['body',['Body',['../classyage_1_1Body.html',1,'yage']]] +]; diff --git a/search/all_1.html b/search/all_1.html new file mode 100644 index 00000000..b13f0f7f --- /dev/null +++ b/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 00000000..efbf7c6b --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['camera2d',['Camera2D',['../classyage_1_1Camera2D.html',1,'yage']]], + ['collider',['Collider',['../classyage_1_1Collider.html',1,'yage']]], + ['collisionbody',['CollisionBody',['../classyage_1_1CollisionBody.html',1,'yage']]], + ['color',['Color',['../structyage_1_1Color.html',1,'yage']]] +]; diff --git a/search/all_2.html b/search/all_2.html new file mode 100644 index 00000000..9543c57b --- /dev/null +++ b/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 00000000..2376c33c --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['glslprogram',['GlslProgram',['../classyage_1_1GlslProgram.html',1,'yage']]], + ['glyph',['Glyph',['../classyage_1_1Glyph.html',1,'yage']]] +]; diff --git a/search/all_3.html b/search/all_3.html new file mode 100644 index 00000000..03405c0f --- /dev/null +++ b/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 00000000..04ae98e8 --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['imageloader',['ImageLoader',['../classyage_1_1ImageLoader.html',1,'yage']]], + ['inputmanager',['InputManager',['../classyage_1_1InputManager.html',1,'yage']]], + ['iomanager',['IoManager',['../classyage_1_1IoManager.html',1,'yage']]] +]; diff --git a/search/all_4.html b/search/all_4.html new file mode 100644 index 00000000..8e1f4b9c --- /dev/null +++ b/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 00000000..b3ac49ff --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['matrix',['Matrix',['../classyage_1_1Matrix.html',1,'yage']]], + ['matrix_3c_20rows_2c_201_2c_20double_20_3e',['Matrix< Rows, 1, double >',['../classyage_1_1Matrix.html',1,'yage']]], + ['matrix_3c_20rows_2c_201_2c_20type_20_3e',['Matrix< Rows, 1, Type >',['../classyage_1_1Matrix.html',1,'yage']]] +]; diff --git a/search/all_5.html b/search/all_5.html new file mode 100644 index 00000000..89a879ea --- /dev/null +++ b/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 00000000..d616947f --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['particlebody',['ParticleBody',['../classyage_1_1ParticleBody.html',1,'yage']]], + ['position',['Position',['../structyage_1_1Position.html',1,'yage']]] +]; diff --git a/search/all_6.html b/search/all_6.html new file mode 100644 index 00000000..6afac066 --- /dev/null +++ b/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 00000000..1f9a4487 --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['rectanglecollider',['RectangleCollider',['../classyage_1_1RectangleCollider.html',1,'yage']]], + ['renderbatch',['RenderBatch',['../classyage_1_1RenderBatch.html',1,'yage']]], + ['resourcemanager',['ResourceManager',['../classyage_1_1ResourceManager.html',1,'yage']]], + ['rigidbody',['RigidBody',['../classyage_1_1RigidBody.html',1,'yage']]], + ['row',['Row',['../classyage_1_1detail_1_1Row.html',1,'yage::detail']]] +]; diff --git a/search/all_7.html b/search/all_7.html new file mode 100644 index 00000000..de191077 --- /dev/null +++ b/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 00000000..8d412bde --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['sprite',['Sprite',['../classyage_1_1Sprite.html',1,'yage']]], + ['spritebatch',['SpriteBatch',['../classyage_1_1SpriteBatch.html',1,'yage']]] +]; diff --git a/search/all_8.html b/search/all_8.html new file mode 100644 index 00000000..11e27cdb --- /dev/null +++ b/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 00000000..de48a562 --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['test',['Test',['../structTest.html',1,'']]], + ['testbench',['TestBench',['../classTestBench.html',1,'']]], + ['texture',['Texture',['../structyage_1_1Texture.html',1,'yage']]], + ['texturecache',['TextureCache',['../classyage_1_1TextureCache.html',1,'yage']]] +]; diff --git a/search/all_9.html b/search/all_9.html new file mode 100644 index 00000000..f8abbbe5 --- /dev/null +++ b/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 00000000..92c686bb --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['uv',['UV',['../structyage_1_1UV.html',1,'yage']]] +]; diff --git a/search/all_a.html b/search/all_a.html new file mode 100644 index 00000000..9601fcee --- /dev/null +++ b/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 00000000..afb8654e --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['vector',['Vector',['../classyage_1_1Vector.html',1,'yage']]], + ['vector2',['Vector2',['../classyage_1_1Vector2.html',1,'yage']]], + ['vector2_3c_20double_20_3e',['Vector2< double >',['../classyage_1_1Vector2.html',1,'yage']]], + ['vector_3c_202_2c_20double_20_3e',['Vector< 2, double >',['../classyage_1_1Vector.html',1,'yage']]], + ['vector_3c_202_2c_20type_20_3e',['Vector< 2, Type >',['../classyage_1_1Vector.html',1,'yage']]], + ['vertex',['Vertex',['../structyage_1_1Vertex.html',1,'yage']]] +]; diff --git a/search/all_b.html b/search/all_b.html new file mode 100644 index 00000000..0814e4e0 --- /dev/null +++ b/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 00000000..50e8b3e6 --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['window',['Window',['../classyage_1_1Window.html',1,'yage']]] +]; diff --git a/search/all_c.html b/search/all_c.html new file mode 100644 index 00000000..da08c387 --- /dev/null +++ b/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 00000000..950425e7 --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['yage',['YAGE',['../md_README.html',1,'']]] +]; diff --git a/search/classes_0.html b/search/classes_0.html new file mode 100644 index 00000000..1c3e406a --- /dev/null +++ b/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 00000000..967cc615 --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['body',['Body',['../classyage_1_1Body.html',1,'yage']]] +]; diff --git a/search/classes_1.html b/search/classes_1.html new file mode 100644 index 00000000..a8e70695 --- /dev/null +++ b/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_1.js b/search/classes_1.js new file mode 100644 index 00000000..efbf7c6b --- /dev/null +++ b/search/classes_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['camera2d',['Camera2D',['../classyage_1_1Camera2D.html',1,'yage']]], + ['collider',['Collider',['../classyage_1_1Collider.html',1,'yage']]], + ['collisionbody',['CollisionBody',['../classyage_1_1CollisionBody.html',1,'yage']]], + ['color',['Color',['../structyage_1_1Color.html',1,'yage']]] +]; diff --git a/search/classes_2.html b/search/classes_2.html new file mode 100644 index 00000000..5c09c969 --- /dev/null +++ b/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_2.js b/search/classes_2.js new file mode 100644 index 00000000..2376c33c --- /dev/null +++ b/search/classes_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['glslprogram',['GlslProgram',['../classyage_1_1GlslProgram.html',1,'yage']]], + ['glyph',['Glyph',['../classyage_1_1Glyph.html',1,'yage']]] +]; diff --git a/search/classes_3.html b/search/classes_3.html new file mode 100644 index 00000000..5faaeba8 --- /dev/null +++ b/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_3.js b/search/classes_3.js new file mode 100644 index 00000000..04ae98e8 --- /dev/null +++ b/search/classes_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['imageloader',['ImageLoader',['../classyage_1_1ImageLoader.html',1,'yage']]], + ['inputmanager',['InputManager',['../classyage_1_1InputManager.html',1,'yage']]], + ['iomanager',['IoManager',['../classyage_1_1IoManager.html',1,'yage']]] +]; diff --git a/search/classes_4.html b/search/classes_4.html new file mode 100644 index 00000000..b3f11bc7 --- /dev/null +++ b/search/classes_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_4.js b/search/classes_4.js new file mode 100644 index 00000000..b3ac49ff --- /dev/null +++ b/search/classes_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['matrix',['Matrix',['../classyage_1_1Matrix.html',1,'yage']]], + ['matrix_3c_20rows_2c_201_2c_20double_20_3e',['Matrix< Rows, 1, double >',['../classyage_1_1Matrix.html',1,'yage']]], + ['matrix_3c_20rows_2c_201_2c_20type_20_3e',['Matrix< Rows, 1, Type >',['../classyage_1_1Matrix.html',1,'yage']]] +]; diff --git a/search/classes_5.html b/search/classes_5.html new file mode 100644 index 00000000..952ace6f --- /dev/null +++ b/search/classes_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_5.js b/search/classes_5.js new file mode 100644 index 00000000..d616947f --- /dev/null +++ b/search/classes_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['particlebody',['ParticleBody',['../classyage_1_1ParticleBody.html',1,'yage']]], + ['position',['Position',['../structyage_1_1Position.html',1,'yage']]] +]; diff --git a/search/classes_6.html b/search/classes_6.html new file mode 100644 index 00000000..75eef9f4 --- /dev/null +++ b/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_6.js b/search/classes_6.js new file mode 100644 index 00000000..1f9a4487 --- /dev/null +++ b/search/classes_6.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['rectanglecollider',['RectangleCollider',['../classyage_1_1RectangleCollider.html',1,'yage']]], + ['renderbatch',['RenderBatch',['../classyage_1_1RenderBatch.html',1,'yage']]], + ['resourcemanager',['ResourceManager',['../classyage_1_1ResourceManager.html',1,'yage']]], + ['rigidbody',['RigidBody',['../classyage_1_1RigidBody.html',1,'yage']]], + ['row',['Row',['../classyage_1_1detail_1_1Row.html',1,'yage::detail']]] +]; diff --git a/search/classes_7.html b/search/classes_7.html new file mode 100644 index 00000000..745f5f28 --- /dev/null +++ b/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_7.js b/search/classes_7.js new file mode 100644 index 00000000..8d412bde --- /dev/null +++ b/search/classes_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['sprite',['Sprite',['../classyage_1_1Sprite.html',1,'yage']]], + ['spritebatch',['SpriteBatch',['../classyage_1_1SpriteBatch.html',1,'yage']]] +]; diff --git a/search/classes_8.html b/search/classes_8.html new file mode 100644 index 00000000..5a443d9d --- /dev/null +++ b/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_8.js b/search/classes_8.js new file mode 100644 index 00000000..de48a562 --- /dev/null +++ b/search/classes_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['test',['Test',['../structTest.html',1,'']]], + ['testbench',['TestBench',['../classTestBench.html',1,'']]], + ['texture',['Texture',['../structyage_1_1Texture.html',1,'yage']]], + ['texturecache',['TextureCache',['../classyage_1_1TextureCache.html',1,'yage']]] +]; diff --git a/search/classes_9.html b/search/classes_9.html new file mode 100644 index 00000000..9cb55be4 --- /dev/null +++ b/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_9.js b/search/classes_9.js new file mode 100644 index 00000000..92c686bb --- /dev/null +++ b/search/classes_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['uv',['UV',['../structyage_1_1UV.html',1,'yage']]] +]; diff --git a/search/classes_a.html b/search/classes_a.html new file mode 100644 index 00000000..54940d78 --- /dev/null +++ b/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_a.js b/search/classes_a.js new file mode 100644 index 00000000..afb8654e --- /dev/null +++ b/search/classes_a.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['vector',['Vector',['../classyage_1_1Vector.html',1,'yage']]], + ['vector2',['Vector2',['../classyage_1_1Vector2.html',1,'yage']]], + ['vector2_3c_20double_20_3e',['Vector2< double >',['../classyage_1_1Vector2.html',1,'yage']]], + ['vector_3c_202_2c_20double_20_3e',['Vector< 2, double >',['../classyage_1_1Vector.html',1,'yage']]], + ['vector_3c_202_2c_20type_20_3e',['Vector< 2, Type >',['../classyage_1_1Vector.html',1,'yage']]], + ['vertex',['Vertex',['../structyage_1_1Vertex.html',1,'yage']]] +]; diff --git a/search/classes_b.html b/search/classes_b.html new file mode 100644 index 00000000..6071ae04 --- /dev/null +++ b/search/classes_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_b.js b/search/classes_b.js new file mode 100644 index 00000000..50e8b3e6 --- /dev/null +++ b/search/classes_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['window',['Window',['../classyage_1_1Window.html',1,'yage']]] +]; diff --git a/search/close.png b/search/close.png new file mode 100644 index 00000000..9342d3df Binary files /dev/null and b/search/close.png differ diff --git a/search/mag_sel.png b/search/mag_sel.png new file mode 100644 index 00000000..81f6040a Binary files /dev/null and b/search/mag_sel.png differ diff --git a/search/nomatches.html b/search/nomatches.html new file mode 100644 index 00000000..b1ded27e --- /dev/null +++ b/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/search/pages_0.html b/search/pages_0.html new file mode 100644 index 00000000..4955b9e4 --- /dev/null +++ b/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/pages_0.js b/search/pages_0.js new file mode 100644 index 00000000..950425e7 --- /dev/null +++ b/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['yage',['YAGE',['../md_README.html',1,'']]] +]; diff --git a/search/search.css b/search/search.css new file mode 100644 index 00000000..3cf9df94 --- /dev/null +++ b/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/search/search.js b/search/search.js new file mode 100644 index 00000000..dedce3bf --- /dev/null +++ b/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + +YAGE: include/YAGE/sprite.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    sprite.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * sprite.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef SPRITE_HPP
    10 #define SPRITE_HPP
    11 
    12 #include "texture.hpp"
    13 
    14 #include <GL/glew.h>
    15 
    16 #include <string>
    17 
    18 namespace yage
    19 {
    20 
    21 class Sprite
    22 {
    23 private:
    24  float x_;
    25  float y_;
    26  float width_;
    27  float height_;
    28  GLuint vbo_id_ = 0;
    29  Texture texture_;
    30 public:
    31  Sprite();
    32  ~Sprite();
    33 
    34  void init(float x, float y, float width, float height, const std::string &texture_path);
    35  void draw();
    36 };
    37 
    38 } // yage
    39 
    40 #endif
    Definition: texture.hpp:17
    +
    Definition: camera2d.hpp:17
    +
    Definition: sprite.hpp:21
    +
    + + + + diff --git a/spritebatch_8hpp_source.html b/spritebatch_8hpp_source.html new file mode 100644 index 00000000..77c146eb --- /dev/null +++ b/spritebatch_8hpp_source.html @@ -0,0 +1,84 @@ + + + + + + + +YAGE: include/YAGE/spritebatch.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    spritebatch.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * spritebatch.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef SPRITE_BATCH_HPP
    10 #define SPRITE_BATCH_HPP
    11 
    12 #include "vertex.hpp"
    13 
    14 #include <GL/glew.h>
    15 #include <glm/glm.hpp>
    16 
    17 #include <vector>
    18 
    19 namespace yage
    20 {
    21 
    22 class SpriteBatch;
    23 
    24 class Glyph
    25 {
    26  // member variables
    27 private:
    28  GLuint texture_;
    29  float depth_;
    30  Vertex top_left_;
    31  Vertex top_right_;
    32  Vertex bottom_right_;
    33  Vertex bottom_left_;
    34 
    35  // member functions
    36 public:
    37  Glyph(GLuint texture, float depth, const Vertex &top_left, const Vertex &top_right, const Vertex &bottom_right, const Vertex &bottom_left);
    38 
    39  inline GLuint texture() const { return texture_; }
    40  inline float depth() const { return depth_; }
    41  inline Vertex top_left() const { return top_left_; }
    42  inline Vertex top_right() const { return top_right_; }
    43  inline Vertex bottom_right() const { return bottom_right_; }
    44  inline Vertex bottom_left() const { return bottom_left_; }
    45 };
    46 
    48 {
    49  friend SpriteBatch;
    50  // member variables
    51 private:
    52  GLsizei num_vertices_;
    53  GLint offset_;
    54  GLuint texture_;
    55 
    56  // member functions
    57 public:
    58  RenderBatch(GLint offset, GLsizei num_vertices, GLuint texture);
    59 
    60  // getters
    61  inline GLint offset() const { return offset_; }
    62  inline GLsizei num_vertices() const { return num_vertices_; }
    63  inline GLuint texture() const { return texture_; }
    64 };
    65 
    67 {
    68  // member variables
    69 public:
    70  static const int NUM_VERTICES=6;
    71 private:
    72  GLuint vbo_=0;
    73  GLuint vao_=0;
    74  std::vector<Glyph> glyphs_;
    75  std::vector<Glyph *> glyph_ptrs_;
    76  std::vector<RenderBatch> render_batches_;
    77 
    78  // member functions
    79 public:
    80  SpriteBatch();
    81  ~SpriteBatch();
    82 
    83  // initialize vaos and vbos
    84  void init();
    85  void begin();
    86  void end();
    87  // adds a sprite to the sprite batch to be rendered later
    88  void draw(const glm::vec4 &destination_rect, const glm::vec4 &uv_rect, GLuint texture, const Color &color, float depth);
    89  // render the batch
    90  void render();
    91 private:
    92  void createVertexArray();
    93  void createRenderBatches();
    94  void sortGlyphs();
    95 };
    96 
    97 } // yage
    98 
    99 #endif
    Definition: spritebatch.hpp:47
    +
    Definition: vertex.hpp:58
    +
    Definition: spritebatch.hpp:66
    +
    Definition: spritebatch.hpp:24
    +
    Definition: camera2d.hpp:17
    +
    Definition: vertex.hpp:30
    +
    + + + + diff --git a/structTest-members.html b/structTest-members.html new file mode 100644 index 00000000..216b388b --- /dev/null +++ b/structTest-members.html @@ -0,0 +1,80 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    +
    +
    Test Member List
    +
    +
    + +

    This is the complete list of members for Test, including all inherited members.

    + + + + +
    name (defined in Test)Test
    passed (defined in Test)Test
    Test(const std::string &_name, bool _passed) (defined in Test)Testinline
    + + + + diff --git a/structTest.html b/structTest.html new file mode 100644 index 00000000..0a153081 --- /dev/null +++ b/structTest.html @@ -0,0 +1,97 @@ + + + + + + + +YAGE: Test Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    + +
    + + + + +

    +Public Member Functions

    Test (const std::string &_name, bool _passed)
     
    + + + + + +

    +Public Attributes

    +std::string name
     
    +bool passed
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structyage_1_1Color-members.html b/structyage_1_1Color-members.html new file mode 100644 index 00000000..5951b990 --- /dev/null +++ b/structyage_1_1Color-members.html @@ -0,0 +1,87 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    yage::Color Member List
    +
    +
    + +

    This is the complete list of members for yage::Color, including all inherited members.

    + + + + + + + +
    a (defined in yage::Color)yage::Color
    b (defined in yage::Color)yage::Color
    Color() (defined in yage::Color)yage::Colorinline
    Color(GLubyte r_, GLubyte g_, GLubyte b_, GLubyte a_) (defined in yage::Color)yage::Colorinline
    g (defined in yage::Color)yage::Color
    r (defined in yage::Color)yage::Color
    + + + + diff --git a/structyage_1_1Color.html b/structyage_1_1Color.html new file mode 100644 index 00000000..09a50b45 --- /dev/null +++ b/structyage_1_1Color.html @@ -0,0 +1,107 @@ + + + + + + + +YAGE: yage::Color Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    yage::Color Struct Reference
    +
    +
    + + + + +

    +Public Member Functions

    Color (GLubyte r_, GLubyte g_, GLubyte b_, GLubyte a_)
     
    + + + + + + + + + +

    +Public Attributes

    +GLubyte r
     
    +GLubyte g
     
    +GLubyte b
     
    +GLubyte a
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structyage_1_1Position-members.html b/structyage_1_1Position-members.html new file mode 100644 index 00000000..92f51e17 --- /dev/null +++ b/structyage_1_1Position-members.html @@ -0,0 +1,85 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    yage::Position Member List
    +
    +
    + +

    This is the complete list of members for yage::Position, including all inherited members.

    + + + + + +
    Position() (defined in yage::Position)yage::Positioninline
    Position(float x_, float y_) (defined in yage::Position)yage::Positioninline
    x (defined in yage::Position)yage::Position
    y (defined in yage::Position)yage::Position
    + + + + diff --git a/structyage_1_1Position.html b/structyage_1_1Position.html new file mode 100644 index 00000000..fb202e23 --- /dev/null +++ b/structyage_1_1Position.html @@ -0,0 +1,101 @@ + + + + + + + +YAGE: yage::Position Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    yage::Position Struct Reference
    +
    +
    + + + + +

    +Public Member Functions

    Position (float x_, float y_)
     
    + + + + + +

    +Public Attributes

    +float x
     
    +float y
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structyage_1_1Texture-members.html b/structyage_1_1Texture-members.html new file mode 100644 index 00000000..35da4d95 --- /dev/null +++ b/structyage_1_1Texture-members.html @@ -0,0 +1,84 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    yage::Texture Member List
    +
    +
    + +

    This is the complete list of members for yage::Texture, including all inherited members.

    + + + + +
    height (defined in yage::Texture)yage::Texture
    id (defined in yage::Texture)yage::Texture
    width (defined in yage::Texture)yage::Texture
    + + + + diff --git a/structyage_1_1Texture.html b/structyage_1_1Texture.html new file mode 100644 index 00000000..a7bc4abb --- /dev/null +++ b/structyage_1_1Texture.html @@ -0,0 +1,97 @@ + + + + + + + +YAGE: yage::Texture Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    yage::Texture Struct Reference
    +
    +
    + + + + + + + + +

    +Public Attributes

    +GLuint id
     
    +int width
     
    +int height
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structyage_1_1UV-members.html b/structyage_1_1UV-members.html new file mode 100644 index 00000000..1c623730 --- /dev/null +++ b/structyage_1_1UV-members.html @@ -0,0 +1,85 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    yage::UV Member List
    +
    +
    + +

    This is the complete list of members for yage::UV, including all inherited members.

    + + + + + +
    u (defined in yage::UV)yage::UV
    UV() (defined in yage::UV)yage::UVinline
    UV(float u_, float v_) (defined in yage::UV)yage::UVinline
    v (defined in yage::UV)yage::UV
    + + + + diff --git a/structyage_1_1UV.html b/structyage_1_1UV.html new file mode 100644 index 00000000..bd38d15d --- /dev/null +++ b/structyage_1_1UV.html @@ -0,0 +1,101 @@ + + + + + + + +YAGE: yage::UV Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    yage::UV Struct Reference
    +
    +
    + + + + +

    +Public Member Functions

    UV (float u_, float v_)
     
    + + + + + +

    +Public Attributes

    +float u
     
    +float v
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structyage_1_1Vertex-members.html b/structyage_1_1Vertex-members.html new file mode 100644 index 00000000..93af8065 --- /dev/null +++ b/structyage_1_1Vertex-members.html @@ -0,0 +1,89 @@ + + + + + + + +YAGE: Member List + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    yage::Vertex Member List
    +
    +
    + +

    This is the complete list of members for yage::Vertex, including all inherited members.

    + + + + + + + + + +
    color (defined in yage::Vertex)yage::Vertex
    position (defined in yage::Vertex)yage::Vertex
    setColor(GLubyte r, GLubyte g, GLubyte b, GLubyte a) (defined in yage::Vertex)yage::Vertexinline
    setPosition(float x, float y) (defined in yage::Vertex)yage::Vertexinline
    setUv(float u, float v) (defined in yage::Vertex)yage::Vertexinline
    uv (defined in yage::Vertex)yage::Vertex
    Vertex() (defined in yage::Vertex)yage::Vertexinline
    Vertex(const Position &position_, const Color &color_, const UV &uv_) (defined in yage::Vertex)yage::Vertexinline
    + + + + diff --git a/structyage_1_1Vertex.html b/structyage_1_1Vertex.html new file mode 100644 index 00000000..fa1039b4 --- /dev/null +++ b/structyage_1_1Vertex.html @@ -0,0 +1,113 @@ + + + + + + + +YAGE: yage::Vertex Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    yage::Vertex Struct Reference
    +
    +
    + + + + + + + + + + +

    +Public Member Functions

    Vertex (const Position &position_, const Color &color_, const UV &uv_)
     
    +void setPosition (float x, float y)
     
    +void setColor (GLubyte r, GLubyte g, GLubyte b, GLubyte a)
     
    +void setUv (float u, float v)
     
    + + + + + + + +

    +Public Attributes

    +Position position
     
    +Color color
     
    +UV uv
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 00000000..3b443fc6 Binary files /dev/null and b/sync_off.png differ diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 00000000..e08320fb Binary files /dev/null and b/sync_on.png differ diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 00000000..3b725c41 Binary files /dev/null and b/tab_a.png differ diff --git a/tab_b.png b/tab_b.png new file mode 100644 index 00000000..e2b4a863 Binary files /dev/null and b/tab_b.png differ diff --git a/tab_h.png b/tab_h.png new file mode 100644 index 00000000..fd5cb705 Binary files /dev/null and b/tab_h.png differ diff --git a/tab_s.png b/tab_s.png new file mode 100644 index 00000000..ab478c95 Binary files /dev/null and b/tab_s.png differ diff --git a/tabs.css b/tabs.css new file mode 100644 index 00000000..a28614b8 --- /dev/null +++ b/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#doc-content{overflow:auto;display:block;padding:0;margin:0;-webkit-overflow-scrolling:touch}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/testbench_8hpp_source.html b/testbench_8hpp_source.html new file mode 100644 index 00000000..69916db8 --- /dev/null +++ b/testbench_8hpp_source.html @@ -0,0 +1,80 @@ + + + + + + + +YAGE: test/testbench.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    testbench.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * testbench.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef TEST_BENCH_HPP
    10 #define TEST_BENCH_HPP
    11 
    12 #include <string>
    13 #include <vector>
    14 
    15 struct Test
    16 {
    17  std::string name;
    18  bool passed;
    19 
    20  Test(const std::string &_name, bool _passed) : name(_name), passed(_passed) {}
    21 };
    22 
    23 class TestBench
    24 {
    25 private:
    26  int incrementer=0;
    27  int passed=0;
    28  int failed=0;
    29 
    30  std::vector<Test> tests_;
    31 
    32 public:
    33  TestBench() : tests_() {}
    34 
    35  void startTest(const std::string &test_name);
    36  void endTest(bool pass);
    37  void printResults();
    38 };
    39 
    40 #endif
    Definition: testbench.hpp:23
    +
    Definition: testbench.hpp:15
    +
    + + + + diff --git a/texture_8hpp_source.html b/texture_8hpp_source.html new file mode 100644 index 00000000..3bdf4883 --- /dev/null +++ b/texture_8hpp_source.html @@ -0,0 +1,80 @@ + + + + + + + +YAGE: include/YAGE/texture.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    texture.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * texture.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef GL_TEXTURE_HPP
    10 #define GL_TEXTURE_HPP
    11 
    12 #include <GL/glew.h>
    13 
    14 namespace yage
    15 {
    16 
    17 struct Texture
    18 {
    19  GLuint id;
    20  int width;
    21  int height;
    22 };
    23 
    24 } // yage
    25 
    26 #endif
    Definition: texture.hpp:17
    +
    Definition: camera2d.hpp:17
    +
    + + + + diff --git a/texturecache_8hpp_source.html b/texturecache_8hpp_source.html new file mode 100644 index 00000000..6000e1e4 --- /dev/null +++ b/texturecache_8hpp_source.html @@ -0,0 +1,81 @@ + + + + + + + +YAGE: include/YAGE/texturecache.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    texturecache.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * texturecache.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef TEXTURE_CACHE_HPP
    10 #define TEXTURE_CACHE_HPP
    11 
    12 #include "texture.hpp"
    13 
    14 #include <unordered_map>
    15 
    16 namespace yage
    17 {
    18 
    20 {
    21 private:
    22  std::unordered_map<std::string, Texture> texture_map_;
    23 public:
    24  TextureCache();
    25  ~TextureCache();
    26 
    27  Texture getTexture(const std::string &texture_path);
    28 };
    29 
    30 } // yage
    31 
    32 #endif
    Definition: texture.hpp:17
    +
    Definition: texturecache.hpp:19
    +
    Definition: camera2d.hpp:17
    +
    + + + + diff --git a/vertex_8hpp_source.html b/vertex_8hpp_source.html new file mode 100644 index 00000000..667f2c9f --- /dev/null +++ b/vertex_8hpp_source.html @@ -0,0 +1,83 @@ + + + + + + + +YAGE: include/YAGE/vertex.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    vertex.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * vertex.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef VERTEX_HPP
    10 #define VERTEX_HPP
    11 
    12 #include <GL/glew.h>
    13 
    14 namespace yage
    15 {
    16 
    17 struct Position
    18 {
    19  float x;
    20  float y;
    21 
    22  Position()
    23  {}
    24 
    25  Position(float x_, float y_) :
    26  x(x_), y(y_)
    27  {}
    28 };
    29 
    30 struct Color
    31 {
    32  GLubyte r;
    33  GLubyte g;
    34  GLubyte b;
    35  GLubyte a;
    36 
    37  Color()
    38  {}
    39 
    40  Color(GLubyte r_, GLubyte g_, GLubyte b_, GLubyte a_) :
    41  r(r_), g(g_), b(b_), a(a_)
    42  {}
    43 };
    44 
    45 struct UV
    46 {
    47  float u;
    48  float v;
    49 
    50  UV()
    51  {}
    52 
    53  UV(float u_, float v_) :
    54  u(u_), v(v_)
    55  {}
    56 };
    57 
    58 struct Vertex
    59 {
    60  Position position;
    61  Color color;
    62  UV uv;
    63 
    64  Vertex()
    65  {}
    66 
    67  Vertex(const Position &position_, const Color &color_, const UV &uv_) :
    68  position(position_), color(color_), uv(uv_)
    69  {}
    70 
    71  void setPosition(float x, float y)
    72  {
    73  position.x = x;
    74  position.y = y;
    75  }
    76 
    77  void setColor(GLubyte r, GLubyte g, GLubyte b, GLubyte a)
    78  {
    79  color.r = r;
    80  color.g = g;
    81  color.b = b;
    82  color.a = a;
    83  }
    84 
    85  void setUv(float u, float v)
    86  {
    87  uv.u = u;
    88  uv.v = v;
    89  }
    90 };
    91 
    92 } // yage
    93 
    94 #endif
    Definition: vertex.hpp:58
    +
    Definition: vertex.hpp:45
    +
    Definition: vertex.hpp:17
    +
    Definition: camera2d.hpp:17
    +
    Definition: vertex.hpp:30
    +
    + + + + diff --git a/window_8hpp_source.html b/window_8hpp_source.html new file mode 100644 index 00000000..bd07355c --- /dev/null +++ b/window_8hpp_source.html @@ -0,0 +1,80 @@ + + + + + + + +YAGE: include/YAGE/window.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    window.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * window.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef WINDOW_HPP
    10 #define WINDOW_HPP
    11 
    12 #include <SDL2/SDL.h>
    13 
    14 #include <string>
    15 
    16 namespace yage
    17 {
    18 
    19 // window flags that can change it's appearance
    20 enum WindowFlags : unsigned
    21 {
    22  SHOWN=0x1,
    23  HIDDEN=0x2,
    24  FULLSCREEN=0x4,
    25  BORDERLESS=0x8,
    26 };
    27 
    28 // window wrapper around SDL_Window pointer
    29 class Window
    30 {
    31 public: // member variables
    32 private:
    33  // window handle
    34  SDL_Window *window_=nullptr;
    35 
    36 public: // member functions
    37  Window();
    38  // destroys the window handle
    39  ~Window();
    40 
    41  // create the window, initialize the handle and update the width and height
    42  void create(const std::string &window_name, int width, int height, unsigned flags=WindowFlags::SHOWN);
    43  // swap the buffer
    44  void swapBuffer();
    45  // clear buffer
    46  void clearBuffer();
    47 private:
    48 };
    49 
    50 } // yage
    51 
    52 #endif
    Definition: window.hpp:29
    +
    Definition: camera2d.hpp:17
    +
    + + + + diff --git a/yage_8hpp_source.html b/yage_8hpp_source.html new file mode 100644 index 00000000..008aa384 --- /dev/null +++ b/yage_8hpp_source.html @@ -0,0 +1,79 @@ + + + + + + + +YAGE: include/YAGE/yage.hpp Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    YAGE +
    +
    Yet Another Game Engine
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    yage.hpp
    +
    +
    +
    1 /* ----------------------------------------------------------------------------
    2  * yage.hpp
    3  *
    4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
    5  * See file LICENSE for more details
    6  * ----------------------------------------------------------------------------
    7  */
    8 
    9 #ifndef YAGE_HPP
    10 #define YAGE_HPP
    11 
    12 #include "camera2d.hpp"
    13 #include "glslprogram.hpp"
    14 #include "imageloader.hpp"
    15 #include "inputmanager.hpp"
    16 #include "iomanager.hpp"
    17 #include "picopng.hpp"
    18 #include "resourcemanager.hpp"
    19 #include "spritebatch.hpp"
    20 #include "texture.hpp"
    21 #include "vertex.hpp"
    22 #include "window.hpp"
    23 
    24 #include <SDL2/SDL.h>
    25 
    26 #include <stdexcept>
    27 
    28 namespace yage
    29 {
    30 
    31 bool init()
    32 {
    33  if(SDL_Init(SDL_INIT_VIDEO))
    34  {
    35  return false;
    36  }
    37  return true;
    38 }
    39 
    40 void quit()
    41 {
    42  SDL_Quit();
    43 }
    44 
    45 };
    46 
    47 #endif
    Definition: camera2d.hpp:17
    +
    + + + + -- cgit