historical/toontown-classic.git/panda/include/mouseSubregion.I

72 lines
1.8 KiB
Text
Raw Normal View History

2024-01-16 11:20:27 -06:00
/**
* PANDA 3D SOFTWARE
* Copyright (c) Carnegie Mellon University. All rights reserved.
*
* All use of this software is subject to the terms of the revised BSD
* license. You should have received a copy of this license along
* with this source code in a file named "LICENSE."
*
* @file mouseSubregion.I
* @author drose
* @date 2005-05-13
*/
/**
* Retrieves the x coordinate of the left edge of the rectangle within the
* window. This number will be in the range [0..1].
*/
PN_stdfloat MouseSubregion::
get_left() const {
return _l;
}
/**
* Retrieves the x coordinate of the right edge of the rectangle within the
* window. This number will be in the range [0..1].
*/
PN_stdfloat MouseSubregion::
get_right() const {
return _r;
}
/**
* Retrieves the y coordinate of the bottom edge of the rectangle within the
* window. This number will be in the range [0..1].
*/
PN_stdfloat MouseSubregion::
get_bottom() const {
return _b;
}
/**
* Retrieves the y coordinate of the top edge of the rectangle within the
* window. This number will be in the range [0..1].
*/
PN_stdfloat MouseSubregion::
get_top() const {
return _t;
}
/**
* Changes the region of the window in which the mouse is considered to be
* active. The parameters are identical to those for a DisplayRegion: they
* range from 0 to 1, where 0,0 is the lower left corner and 1,1 is the upper
* right; (0, 1, 0, 1) represents the whole window.
*/
void MouseSubregion::
set_dimensions(PN_stdfloat l, PN_stdfloat r, PN_stdfloat b, PN_stdfloat t) {
_l = l;
_r = r;
_b = b;
_t = t;
_minx = l * 2.0f - 1.0f;
_miny = b * 2.0f - 1.0f;
PN_stdfloat maxx = r * 2.0f - 1.0f;
PN_stdfloat maxy = t * 2.0f - 1.0f;
_scalex = 2.0f / (maxx - _minx);
_scaley = 2.0f / (maxy - _miny);
}