Aufgabe 7: Anwendung
Mouse Class Reference
Handles mouse movements and clicks. More...
#include <device/mouse.h>
 Inheritance diagram for Mouse:
 Inheritance diagram for Mouse: Collaboration diagram for Mouse:
 Collaboration diagram for Mouse:| Public Member Functions | |
| Mouse (unsigned max_x, unsigned max_y) | |
| Constructor.  More... | |
| void | getPos (unsigned &x, unsigned &y) const | 
| Retrieve the current mouse position.  More... | |
| bool | isPressed (MouseButton btn) const | 
| Check if a given mouse button is pressed.  More... | |
| void | plugin () | 
| Initialization of the mouse.  More... | |
| bool | prologue () override | 
| Prologue of mouse interrupts.  More... | |
| void | epilogue () override | 
| Epilogue of mouse interrupts.  More... | |
|  Public Member Functions inherited from Gate | |
| Gate () | |
| Constructor. | |
| virtual | ~Gate () | 
| Destructor.  More... | |
| virtual bool | prologue ()=0 | 
| Device-specific interrupt handling routine that is executed immediately after the interrupt occurs (asynchronously).  More... | |
| virtual void | epilogue () | 
| Possibly delayed, synchronously executed Device-specific interrupt handling routine.  More... | |
| 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
| 
 | inlineexplicit | 
Constructor.
Defines a virtual window for the mouse.
- Parameters
- 
  max_x Maximum X position (excluding) for the mouse max_y Maximum Y position (excluding) for the mouse 
Member Function Documentation
| 
 | inline | 
| 
 | inline | 
Check if a given mouse button is pressed.
- Parameters
- 
  btn Button to check for press 
- Returns
- trueif button is currently pressed
| 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.
| 
 | overridevirtual | 
| 
 | overridevirtual | 
Epilogue of mouse interrupts.
The current position of the cursor is drawn on the screen using TextMode::showMouse(). Press and release events of the buttons are printed to the debug output.
Reimplemented from Gate.
The documentation for this class was generated from the following files:
- device/mouse.h
- device/mouse.cc