Public Member Functions | |
| void | boxBlur (int x1, int y1, int x2, int y2, int radius=2) |
| void | clear () |
| void | disableClipping () const |
| void | drawLine (int x1, int y1, int x2, int y2) const |
| void | drawPattern (Surface *surface, int x1, int y1, int x2, int y2) const |
| void | drawQuad (int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) const |
| void | drawRectangle (int x1, int y1, int x2, int y2) const |
| void | drawString (Font *font, const char *str, int x, int y) const |
| void | drawStringCentered (Font *font, const char *str, int x, int y) const |
| void | drawStringRight (Font *font, const char *str, int x, int y) const |
| void | drawSurface (Surface *surface, int x1, int y1, int x2, int y2) const |
| void | drawSurface (Surface *surface, int dx, int dy, int sx1, int sy1, int sx2, int sy2) const |
| void | drawSurface (Surface *surface, int x, int y) const |
| void | drawTriangle (int x1, int y1, int x2, int y2, int x3, int y3) const |
| void | flip () |
| int | getNumberOfBackBuffers () const |
| int | getScreenHeight () const |
| int | getScreenWidth () const |
| int | getVideoScale () const |
| void | grabBuffer (Surface *surface, int x1, int y1, int x2, int y2) const |
| void | grabBuffer (Surface *surface) const |
| void | identity () const |
| int | isFullScreen () const |
| void | pop () const |
| void | push () const |
| void | reset () |
| void | restoreBuffer (int slot) const |
| void | rotate (float degrees) const |
| void | scale (float x, float y) const |
| void | setAlpha (int alpha=0xff) const |
| void | setClearColor (int red=0xff, int green=0xff, int blue=0xff, int alpha=0xff) const |
| void | setClippingRectangle (int x1, int y1, int x2, int y2) const |
| void | setColor (int red=0xff, int green=0xff, int blue=0xff, int alpha=0xff) const |
| void | setVideoMode (int w, int h, const char *title="Annchienta RPG Engine", bool fullScreen=false, int videoScale=1) |
| void | storeBuffer (int slot) |
| void | translate (float x, float y) const |
| VideoManager () | |
| ~VideoManager () | |
Private Attributes | |
| Surface ** | backBuffers |
| bool | fullScreen |
| int | screenHeight |
| int | screenWidth |
| int | videoScale |
Static Private Attributes | |
| static const int | numberOfBackBuffers = 8 |
| Annchienta::VideoManager::VideoManager | ( | ) |
| Annchienta::VideoManager::~VideoManager | ( | ) |
| void Annchienta::VideoManager::boxBlur | ( | int | x1, | |
| int | y1, | |||
| int | x2, | |||
| int | y2, | |||
| int | radius = 2 | |||
| ) |
Perform a fairly quick box blur to a rectangle of the current buffer. This is pretty nice for visual effects.
| x1 | Top left x coord of the rectangle. | |
| y1 | Top left y coord of the rectangle. | |
| x2 | Bottom right x coord of the rectangle. | |
| y2 | Bottom right y coord of the rectangle. | |
| radius | Blur radius. A large radius will slow down this function. |
This function will mess up your clipping rectangle if you set one with setClippingRectangle().
| void Annchienta::VideoManager::clear | ( | ) |
Begins the scene. Clears and resets the screen.
| void Annchienta::VideoManager::disableClipping | ( | ) | const |
Disable the clipping rectangle set with setClippingRectangle().
| void Annchienta::VideoManager::drawLine | ( | int | x1, | |
| int | y1, | |||
| int | x2, | |||
| int | y2 | |||
| ) | const |
Draw a straight line between two points.
| x1 | X coord of the 1st point. | |
| y1 | Y coord of the 1st point. | |
| x2 | X coord of the 2nd point. | |
| y2 | Y coord of the 2nd point. |
| void Annchienta::VideoManager::drawPattern | ( | Surface * | surface, | |
| int | x1, | |||
| int | y1, | |||
| int | x2, | |||
| int | y2 | |||
| ) | const |
Draws a surface, tiled like a pattern to rectangle on the screen.
| surface | Surface to be drawn. | |
| x1 | Top left x coord of the rectangle. | |
| y1 | Top left y coord of the rectangle. | |
| x2 | Bottom right x coord of the rectangle. | |
| y2 | Bottom right y coord of the rectangle. |
| void Annchienta::VideoManager::drawQuad | ( | int | x1, | |
| int | y1, | |||
| int | x2, | |||
| int | y2, | |||
| int | x3, | |||
| int | y3, | |||
| int | x4, | |||
| int | y4 | |||
| ) | const |
Draw a quad between four points.
| x1 | X coord of the 1st point. | |
| y1 | Y coord of the 1st point. | |
| x2 | X coord of the 2nd point. | |
| y2 | Y coord of the 2nd point. | |
| x3 | X coord of the 3rd point. | |
| y3 | Y coord of the 3rd point. | |
| x4 | X coord of the 4rd point. | |
| y4 | Y coord of the 4rd point. |
| void Annchienta::VideoManager::drawRectangle | ( | int | x1, | |
| int | y1, | |||
| int | x2, | |||
| int | y2 | |||
| ) | const |
Draw an axis-aligned rectangle.
| x1 | Top left x coord of the rectangle. | |
| y1 | Top left y coord of the rectangle. | |
| x2 | Bottom right x coord of the rectangle. | |
| y2 | Bottom right y coord of the rectangle. |
| void Annchienta::VideoManager::drawString | ( | Font * | font, | |
| const char * | str, | |||
| int | x, | |||
| int | y | |||
| ) | const |
Draws a string to the screen.
| font | Font to be used. | |
| str | The string to be drawn. | |
| x | X destination coord on the screen. | |
| y | Y destination coord on the screen. |
| void Annchienta::VideoManager::drawStringCentered | ( | Font * | font, | |
| const char * | str, | |||
| int | x, | |||
| int | y | |||
| ) | const |
Draws a string to the screen, horizontally centered.
| font | Font to be used. | |
| str | The string to be drawn. | |
| x | X destination coord on the screen. | |
| y | Y destination coord on the screen. |
| void Annchienta::VideoManager::drawStringRight | ( | Font * | font, | |
| const char * | str, | |||
| int | x, | |||
| int | y | |||
| ) | const |
Draws a string to the screen, horizontally right-aligned.
| font | Font to be used. | |
| str | The string to be drawn. | |
| x | X destination coord on the screen. | |
| y | Y destination coord on the screen. |
| void Annchienta::VideoManager::drawSurface | ( | Surface * | surface, | |
| int | x1, | |||
| int | y1, | |||
| int | x2, | |||
| int | y2 | |||
| ) | const |
Draws a surface, stretched to a rectangle on the screen.
| surface | Surface to be drawn. | |
| x1 | Top left x coord of the rectangle. | |
| y1 | Top left y coord of the rectangle. | |
| x2 | Bottom right x coord of the rectangle. | |
| y2 | Bottom right y coord of the rectangle. |
| void Annchienta::VideoManager::drawSurface | ( | Surface * | surface, | |
| int | dx, | |||
| int | dy, | |||
| int | sx1, | |||
| int | sy1, | |||
| int | sx2, | |||
| int | sy2 | |||
| ) | const |
Draws a rectangular part of a surface to the screen.
| surface | Surface to be drawn. | |
| dx | X coord of destination on screen. | |
| dy | Y coord of destination on screen. | |
| sx1 | Top left x coord of the rectangle. | |
| sy1 | Top left y coord of the rectangle. | |
| sx2 | Bottom right x coord of the rectangle. | |
| sy2 | Bottom right y coord of the rectangle. |
| void Annchienta::VideoManager::drawSurface | ( | Surface * | surface, | |
| int | x, | |||
| int | y | |||
| ) | const |
Draws an entire surface to the screen. This should be slightly faster than the other drawSurface() methods because it is optimized.
| surface | Surface to be drawn. | |
| x | X coord of destination on screen. | |
| y | Y coord of destination on screen. |
| void Annchienta::VideoManager::drawTriangle | ( | int | x1, | |
| int | y1, | |||
| int | x2, | |||
| int | y2, | |||
| int | x3, | |||
| int | y3 | |||
| ) | const |
Draw a triangle between three points.
| x1 | X coord of the 1st point. | |
| y1 | Y coord of the 1st point. | |
| x2 | X coord of the 2nd point. | |
| y2 | Y coord of the 2nd point. | |
| x3 | X coord of the 3rd point. | |
| y3 | Y coord of the 3rd point. |
| void Annchienta::VideoManager::flip | ( | ) |
Draw the buffer to the screen.
| int Annchienta::VideoManager::getNumberOfBackBuffers | ( | ) | const |
| int Annchienta::VideoManager::getScreenHeight | ( | ) | const |
| int Annchienta::VideoManager::getScreenWidth | ( | ) | const |
| int Annchienta::VideoManager::getVideoScale | ( | ) | const |
| void Annchienta::VideoManager::grabBuffer | ( | Surface * | surface, | |
| int | x1, | |||
| int | y1, | |||
| int | x2, | |||
| int | y2 | |||
| ) | const |
Copy a part of the buffer to a Surface. Make sure your Surface is large enough, especially when the videoScale set is larger than 1.
| surface | Destination of the buffer pixels. | |
| x1 | Top left x coord of the rectangle. | |
| y1 | Top left y coord of the rectangle. | |
| x2 | Bottom right x coord of the rectangle. | |
| y2 | Bottom right y coord of the rectangle. |
| void Annchienta::VideoManager::grabBuffer | ( | Surface * | surface | ) | const |
Copy the entire buffer to a Surface. Make sure your Surface is large enough, especially when the videoScale set is larger than 1.
| surface | Destination of the buffer pixels. |
| void Annchienta::VideoManager::identity | ( | ) | const |
Loads identity matrix.
| int Annchienta::VideoManager::isFullScreen | ( | ) | const |
| void Annchienta::VideoManager::pop | ( | ) | const |
Restores a matrix from the stack.
| void Annchienta::VideoManager::push | ( | ) | const |
Pushes the current matrix onto the stack.
| void Annchienta::VideoManager::reset | ( | ) |
Resets all matrixes, colors...
| void Annchienta::VideoManager::restoreBuffer | ( | int | slot | ) | const |
Restores a buffer, stored with storeBuffer().
| slot | Slot to restore from. |
| void Annchienta::VideoManager::rotate | ( | float | degrees | ) | const |
Multiply the current matrix with a rotation matrix.
| degrees | Degrees to be rotated clockwise. |
| void Annchienta::VideoManager::scale | ( | float | x, | |
| float | y | |||
| ) | const |
Multiply the current matrix with a scalar matrix.
| x | X scale factor. | |
| y | Y scale factor. |
| void Annchienta::VideoManager::setAlpha | ( | int | alpha = 0xff |
) | const |
Sets the alpha component for the current color.
| alpha | Alpha Component. [0-255]. |
| void Annchienta::VideoManager::setClearColor | ( | int | red = 0xff, |
|
| int | green = 0xff, |
|||
| int | blue = 0xff, |
|||
| int | alpha = 0xff | |||
| ) | const |
Sets the color used for clearing the screen with.
| red | Red component of clearing color. [0-255]. | |
| green | Green component of clearing color. [0-255]. | |
| blue | Blue component of clearing color. [0-255]. | |
| alpha | Alpha component of clearing color. [0-255]. |
| void Annchienta::VideoManager::setClippingRectangle | ( | int | x1, | |
| int | y1, | |||
| int | x2, | |||
| int | y2 | |||
| ) | const |
Sets clipping rectangle. This means all drawing, from now on, will be clipped to the rectangle specified.
| x1 | Top left x coord of the rectangle. | |
| y1 | Top left y coord of the rectangle. | |
| x2 | Bottom right x coord of the rectangle. | |
| y2 | Bottom right y coord of the rectangle. |
| void Annchienta::VideoManager::setColor | ( | int | red = 0xff, |
|
| int | green = 0xff, |
|||
| int | blue = 0xff, |
|||
| int | alpha = 0xff | |||
| ) | const |
Sets the color used for all drawing of primitives and text. This color gets applied to a Surface too. When you want to draw a Surface in it's regular color, set the color to white.
| red | Red component of clearing color. [0-255]. | |
| green | Green component of clearing color. [0-255]. | |
| blue | Blue component of clearing color. [0-255]. | |
| alpha | Alpha component of clearing color. [0-255]. |
| void Annchienta::VideoManager::setVideoMode | ( | int | w, | |
| int | h, | |||
| const char * | title = "Annchienta RPG Engine", |
|||
| bool | fullScreen = false, |
|||
| int | videoScale = 1 | |||
| ) |
Sets the video mode. Use this before doing any drawing operations.
| w | Width for the screen. | |
| h | Height for the screen. | |
| title | Caption to be used for the window. | |
| fullScreen | Should the game run in fullscreen mode? (Might not always work with all resolutions.) | |
| videoScale | Defaults to 1, choose a higher number to get a larger screen. |
| void Annchienta::VideoManager::storeBuffer | ( | int | slot | ) |
Saves the current buffer to a slot. There are certainly 8 slots, so [0-7] can be used. I advise however to use [1-7] exclusively because slot 0 is sometimes internally used. You can use getNumberOfBackBuffers() to determine the exact number of slots.
| slot | Slot to save to. |
| void Annchienta::VideoManager::translate | ( | float | x, | |
| float | y | |||
| ) | const |
Multiply the current matrix with a translation matrix.
| x | X translation distance. | |
| y | Y translation distance. |
Surface** Annchienta::VideoManager::backBuffers [private] |
bool Annchienta::VideoManager::fullScreen [private] |
const int Annchienta::VideoManager::numberOfBackBuffers = 8 [static, private] |
int Annchienta::VideoManager::screenHeight [private] |
int Annchienta::VideoManager::screenWidth [private] |
int Annchienta::VideoManager::videoScale [private] |
1.5.7.1