36 Timer *_scrollMouseTimer, *_scrollKeyTimer;
37 int _spriteWidth, _spriteHeight;
38 int _mapsize_x, _mapsize_y, _mapsize_z;
39 int _screenWidth, _screenHeight;
41 int _scrollMouseX, _scrollMouseY, _scrollKeyX, _scrollKeyY;
43 int _visibleMapHeight;
47 static const int SCROLL_BORDER = 5;
48 static const int SCROLL_DIAGONAL_EDGE = 60;
50 Camera(
int spriteWidth,
int spriteHeight,
int mapsize_x,
int mapsize_y,
int mapsize_z,
Map *map,
int visibleMapHeight);
70 void scrollXY(
int x,
int y,
bool redraw);
104 bool isOnScreen(
Position mapPos,
const bool unitWalking,
const int unitSize,
const bool boundary)
const;
void resize()
Resize the viewable area.
Definition: Camera.cpp:610
void convertMapToScreen(Position mapPos, Position *screenPos) const
Converts map coordinates to screen coordinates.
Definition: Camera.cpp:461
~Camera()
Cleans up the camera.
Definition: Camera.cpp:48
bool isOnScreen(Position mapPos, const bool unitWalking, const int unitSize, const bool boundary) const
Checks if map coordinates X,Y,Z are on screen.
Definition: Camera.cpp:558
Container for all the information associated with a given user action, like mouse clicks...
Definition: Action.h:32
Position getCenterPosition()
Gets map's center position.
Definition: Camera.cpp:425
void jumpXY(int x, int y)
Jumps the view (when projectile in motion).
Definition: Camera.cpp:356
void scrollXY(int x, int y, bool redraw)
Scrolls the view a certain amount.
Definition: Camera.cpp:326
A game state that receives user input and reacts accordingly.
Definition: State.h:44
Timer used to run code in fixed intervals.
Definition: Timer.h:35
int getMapSizeX() const
Gets the map size x.
Definition: Camera.cpp:499
Class handling camera movement, either by mouse or by events on the battlescape.
Definition: Camera.h:33
int getMapSizeY() const
Gets the map size y.
Definition: Camera.cpp:508
void convertScreenToMap(int screenX, int screenY, int *mapX, int *mapY) const
Converts screen coordinates to map coordinates.
Definition: Camera.cpp:438
void mouseOver(Action *action, State *state)
Special handling for mouse over.
Definition: Camera.cpp:119
void mousePress(Action *action, State *state)
Special handling for mouse press.
Definition: Camera.cpp:69
void scrollMouse()
Scrolls the view for mouse-scrolling.
Definition: Camera.cpp:307
void keyboardPress(Action *action, State *state)
Special handling for key presses.
Definition: Camera.cpp:228
void scrollKey()
Scrolls the view for keyboard-scrolling.
Definition: Camera.cpp:315
void centerOnPosition(Position pos, bool redraw=true)
Center map on a position.
Definition: Camera.cpp:406
Interactive map of the battlescape.
Definition: Map.h:44
Camera(int spriteWidth, int spriteHeight, int mapsize_x, int mapsize_y, int mapsize_z, Map *map, int visibleMapHeight)
Creates a new camera.
Definition: Camera.cpp:40
void setScrollTimer(Timer *mouse, Timer *key)
Sets the camera's scroll timers.
Definition: Camera.cpp:58
void up()
Moves map layer up.
Definition: Camera.cpp:367
Position getMapOffset() const
Get the map x/y screen offset.
Definition: Camera.cpp:517
void setMapOffset(const Position &pos)
Sets the map x/y screen offset.
Definition: Camera.cpp:526
bool getShowAllLayers() const
Checks if the camera is showing all map layers.
Definition: Camera.cpp:545
void mouseRelease(Action *action, State *state)
Special handling for mouse release.
Definition: Camera.cpp:94
Easy handling of X-Y-Z coordinates.
Definition: Position.h:28
void setViewLevel(int viewlevel)
Sets the view level.
Definition: Camera.cpp:394
void down()
Move map layer down.
Definition: Camera.cpp:380
void convertVoxelToScreen(Position voxelPos, Position *screenPos) const
Converts voxel coordinates to screen coordinates.
Definition: Camera.cpp:473
void stopMouseScrolling()
stop mouse scrolling.
Definition: Camera.cpp:617
int toggleShowAllLayers()
Toggles showing all map layers.
Definition: Camera.cpp:535
int getViewLevel() const
Gets the map displayed level.
Definition: Camera.cpp:490
Definition: BaseInfoState.cpp:40
void keyboardRelease(Action *action, State *state)
Special handling for key releases.
Definition: Camera.cpp:269