sdl2dll
Loading...
Searching...
No Matches
sdl_circle.h
1/*
2 * Clases para manejar circulos en SDL2
3 */
4#ifndef _SDL_CIRCLE
5#define _SDL_CIRCLE
6
7#define EXPORT __declspec(dllexport)
8
9#include <SDL.h>
10#include <cmath>
11#include "sdl_point.h"
12
13namespace sdl {
14
21class Circle {
22protected:
24 int radius;
25public:
33 EXPORT Circle(int x=0, int y=0, int r=0) : center(x, y), radius(r) {}
40 EXPORT Circle(Point &c, int r=0) : center(c), radius(r) {}
46 EXPORT Point &Center() { return center; }
52 EXPORT int &X() { return center.X(); }
58 EXPORT int &Y() { return center.Y(); }
64 EXPORT int &R() { return radius; }
65};
66
73class FCircle {
74protected:
76 float radius;
77public:
85 EXPORT FCircle(float x=0, float y=0, float r=0) : center(x, y), radius(r) {}
92 EXPORT FCircle(FPoint &c, float r=0) : center(c), radius(r) {}
104 EXPORT FCircle Move(float alfa, FPoint &displacement, FPoint &escale);
110 EXPORT FPoint &Center() { return center; }
116 EXPORT float &X() { return center.X(); }
122 EXPORT float &Y() { return center.Y(); }
128 EXPORT float &R() { return radius; }
129};
130
131} // namespace
132
133#endif // _SDL_CIRCLE
134
Encapsula una circunferencia con coordenadas enteras.
Definition sdl_circle.h:21
EXPORT Circle(Point &c, int r=0)
Constructor a partir de un punto para el centro y radio.
Definition sdl_circle.h:40
EXPORT int & R()
Obtiene el radio.
Definition sdl_circle.h:64
EXPORT Point & Center()
Devuelve las coordenadas del centro de la circunferencia.
Definition sdl_circle.h:46
Point center
Definition sdl_circle.h:23
EXPORT int & X()
Obtiene la coordenada x del centro.
Definition sdl_circle.h:52
EXPORT int & Y()
Obtiene la coordenada y del centro.
Definition sdl_circle.h:58
int radius
Definition sdl_circle.h:24
EXPORT Circle(int x=0, int y=0, int r=0)
Constructor a partir de coordenadas enteras y radio.
Definition sdl_circle.h:33
Encapsula una circunferencia con coordenadas en punto flotante.
Definition sdl_circle.h:73
EXPORT float & X()
Obtiene la coordenada x del centro.
Definition sdl_circle.h:116
EXPORT FPoint & Center()
Devuelve las coordenadas del centro de la circunferencia.
Definition sdl_circle.h:110
EXPORT float & Y()
Obtiene la coordenada y del centro.
Definition sdl_circle.h:122
float radius
Definition sdl_circle.h:76
FPoint center
Definition sdl_circle.h:75
EXPORT float & R()
Obtiene el radio.
Definition sdl_circle.h:128
EXPORT FCircle Move(float alfa, FPoint &displacement, FPoint &escale)
Mueve la circunferencia rotando en ángulo dado y a la distancia especificada, aplicando una escala.
Definition sdl_circle.cpp:4
EXPORT FCircle(float x=0, float y=0, float r=0)
Constructor a partir de coordenadas enteras y radio.
Definition sdl_circle.h:85
EXPORT FCircle(FPoint &c, float r=0)
Constructor a partir de un punto para el centro y radio.
Definition sdl_circle.h:92
Clase para manipular puntos con coordenadas float.
Definition sdl_point.h:70
EXPORT float & X()
Obtiene una referencia a la coordenada x del punto.
Definition sdl_point.h:116
EXPORT float & Y()
Obtiene una referencia a la coordenada y del punto.
Definition sdl_point.h:122
Clase para manipular puntos con coordenadas enteras.
Definition sdl_point.h:20
EXPORT int & X()
Obtiene una referencia a la coordenada x del punto.
Definition sdl_point.h:57
EXPORT int & Y()
Obtiene una referencia a la coordenada y del punto.
Definition sdl_point.h:63
Espacio con nombre para el wrapper de SDL2.
Definition sdl_music.h:14