3rdparty/licenseReport: Add seperate LGPL checks
[haiku.git] / src / add-ons / screen_savers / gravity / Particle.h
blob69ff6d382cf55127621fb6055e97b43f0b9960d3
1 /*
2 * Copyright 2012-2013 Tri-Edge AI <triedgeai@gmail.com>
3 * Copyright 2014 Haiku, Inc. All rights reserved.
5 * Distributed under the terms of the MIT license.
7 * Authors:
8 * Tri-Edge AI
9 * John Scipione, jscipione@gmail.com
11 #ifndef PARTICLE_H
12 #define PARTICLE_H
15 #include <ObjectList.h>
16 #include <GLView.h>
19 class Particle {
20 public:
21 static BObjectList<Particle>* list;
23 static void Initialize(int32 size, int32 shade);
24 static void AddParticles(int32 size, int32 shade);
25 static void RemoveParticles(int32 size, int32 shade);
26 static void ColorParticles(int32 size, int32 shade);
27 static void Terminate();
28 static void Tick();
30 float x;
31 float y;
32 float z;
33 float r;
35 float vx;
36 float vy;
37 float vz;
38 float vr;
40 float red;
41 float green;
42 float blue;
44 private:
45 void _Logic();
46 void _Render() const;
48 static void _FillParticle(Particle* p, int32 size,
49 int32 shade);
50 static void _ColorParticle(Particle* p, int32 size,
51 int32 shade);
55 #endif // PARTICLE_H