StuBS
Mouse Class Reference

Handles mouse movements and clicks. More...

#include <device/mouse.h>

Inheritance diagram for Mouse:
[legend]
Collaboration diagram for Mouse:
[legend]

Public Member Functions

 Mouse (unsigned max_x, unsigned max_y)
 Constructor.
void getPos (unsigned &x, unsigned &y) const
 Retrieve the current mouse position.
bool isPressed (MouseButton btn) const
 Check if a given mouse button is pressed.
void plugin ()
 Initialization of the mouse.
void trigger ()
 Handling of mouse interrupts.
Public Member Functions inherited from Gate
 Gate ()
 Constructor.
virtual ~Gate ()
 Destructor.

Public Attributes

const unsigned MAX_X
 Maximum X position of the mouse.
const unsigned MAX_Y
 Maximum Y position of the mouse.

Detailed Description

Handles mouse movements and clicks.

This class ensures correct initialization of the mouse and, above all, its interrupt handling.

Constructor & Destructor Documentation

◆ Mouse()

Mouse::Mouse ( unsigned max_x,
unsigned max_y )
inlineexplicit

Constructor.

Defines a virtual window for the mouse.

Parameters
max_xMaximum X position (excluding) for the mouse
max_yMaximum Y position (excluding) for the mouse

Member Function Documentation

◆ getPos()

void Mouse::getPos ( unsigned & x,
unsigned & y ) const
inline

Retrieve the current mouse position.

Parameters
xReference to variable for the X position (0 ≤ x < MAX_X) of the mouse
yReference to variable for the Y position (0 ≤ y < MAX_Y) of the mouse
Optional
Implement method

◆ isPressed()

bool Mouse::isPressed ( MouseButton btn) const
inline

Check if a given mouse button is pressed.

Parameters
btnButton to check for press
Returns
true if button is currently pressed
Optional
Implement method

◆ plugin()

void Mouse::plugin ( )

Initialization of the mouse.

Initialization of the mouse and activation of the specific interrupt handling: The object will register itself at the Plugbox and configure the IOAPIC to receive the corresponding interrupts.

Note
The mouse interrupts should be configured as level triggered.
Optional
Implement method

◆ trigger()

void Mouse::trigger ( )
virtual

Handling of mouse interrupts.

Processes interrupts triggered by the mouse.

Optional
Implement Method

Implements Gate.


The documentation for this class was generated from the following files: