mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
Use LVecBase4i to store _pixels in DisplayRegion
This commit is contained in:
parent
d5a61d3705
commit
e5447a5fcd
@ -389,7 +389,7 @@ get_draw_callback() const {
|
|||||||
INLINE int DisplayRegion::
|
INLINE int DisplayRegion::
|
||||||
get_pixel_width() const {
|
get_pixel_width() const {
|
||||||
CDReader cdata(_cycler);
|
CDReader cdata(_cycler);
|
||||||
return cdata->_pr - cdata->_pl;
|
return cdata->_pixels[1] - cdata->_pixels[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -400,7 +400,7 @@ get_pixel_width() const {
|
|||||||
INLINE int DisplayRegion::
|
INLINE int DisplayRegion::
|
||||||
get_pixel_height() const {
|
get_pixel_height() const {
|
||||||
CDReader cdata(_cycler);
|
CDReader cdata(_cycler);
|
||||||
return cdata->_pt - cdata->_pb;
|
return cdata->_pixels[3] - cdata->_pixels[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -412,10 +412,10 @@ get_pixel_height() const {
|
|||||||
INLINE void DisplayRegion::
|
INLINE void DisplayRegion::
|
||||||
get_pixels(int &pl, int &pr, int &pb, int &pt) const {
|
get_pixels(int &pl, int &pr, int &pb, int &pt) const {
|
||||||
CDReader cdata(_cycler);
|
CDReader cdata(_cycler);
|
||||||
pl = cdata->_pl;
|
pl = cdata->_pixels[0];
|
||||||
pr = cdata->_pr;
|
pr = cdata->_pixels[1];
|
||||||
pb = cdata->_pb;
|
pb = cdata->_pixels[2];
|
||||||
pt = cdata->_pt;
|
pt = cdata->_pixels[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -428,10 +428,10 @@ get_pixels(int &pl, int &pr, int &pb, int &pt) const {
|
|||||||
INLINE void DisplayRegion::
|
INLINE void DisplayRegion::
|
||||||
get_region_pixels(int &xo, int &yo, int &w, int &h) const {
|
get_region_pixels(int &xo, int &yo, int &w, int &h) const {
|
||||||
CDReader cdata(_cycler);
|
CDReader cdata(_cycler);
|
||||||
xo = cdata->_pl;
|
xo = cdata->_pixels[0];
|
||||||
yo = cdata->_pb;
|
yo = cdata->_pixels[2];
|
||||||
w = cdata->_pr - cdata->_pl;
|
w = cdata->_pixels[1] - xo;
|
||||||
h = cdata->_pt - cdata->_pb;
|
h = cdata->_pixels[3] - yo;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -445,10 +445,10 @@ get_region_pixels(int &xo, int &yo, int &w, int &h) const {
|
|||||||
INLINE void DisplayRegion::
|
INLINE void DisplayRegion::
|
||||||
get_region_pixels_i(int &xo, int &yo, int &w, int &h) const {
|
get_region_pixels_i(int &xo, int &yo, int &w, int &h) const {
|
||||||
CDReader cdata(_cycler);
|
CDReader cdata(_cycler);
|
||||||
xo = cdata->_pl;
|
xo = cdata->_pixels_i[0];
|
||||||
yo = cdata->_pti;
|
yo = cdata->_pixels_i[2];
|
||||||
w = cdata->_pr - cdata->_pl;
|
w = cdata->_pixels_i[1] - xo;
|
||||||
h = cdata->_pbi - cdata->_pti;
|
h = cdata->_pixels_i[3] - yo;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -816,10 +816,10 @@ get_draw_callback() const {
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE void DisplayRegionPipelineReader::
|
INLINE void DisplayRegionPipelineReader::
|
||||||
get_pixels(int &pl, int &pr, int &pb, int &pt) const {
|
get_pixels(int &pl, int &pr, int &pb, int &pt) const {
|
||||||
pl = _cdata->_pl;
|
pl = _cdata->_pixels[0];
|
||||||
pr = _cdata->_pr;
|
pr = _cdata->_pixels[1];
|
||||||
pb = _cdata->_pb;
|
pb = _cdata->_pixels[2];
|
||||||
pt = _cdata->_pt;
|
pt = _cdata->_pixels[3];
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -831,10 +831,10 @@ get_pixels(int &pl, int &pr, int &pb, int &pt) const {
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE void DisplayRegionPipelineReader::
|
INLINE void DisplayRegionPipelineReader::
|
||||||
get_region_pixels(int &xo, int &yo, int &w, int &h) const {
|
get_region_pixels(int &xo, int &yo, int &w, int &h) const {
|
||||||
xo = _cdata->_pl;
|
xo = _cdata->_pixels[0];
|
||||||
yo = _cdata->_pb;
|
yo = _cdata->_pixels[2];
|
||||||
w = _cdata->_pr - _cdata->_pl;
|
w = _cdata->_pixels[1] - xo;
|
||||||
h = _cdata->_pt - _cdata->_pb;
|
h = _cdata->_pixels[3] - yo;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -847,10 +847,10 @@ get_region_pixels(int &xo, int &yo, int &w, int &h) const {
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE void DisplayRegionPipelineReader::
|
INLINE void DisplayRegionPipelineReader::
|
||||||
get_region_pixels_i(int &xo, int &yo, int &w, int &h) const {
|
get_region_pixels_i(int &xo, int &yo, int &w, int &h) const {
|
||||||
xo = _cdata->_pl;
|
xo = _cdata->_pixels_i[0];
|
||||||
yo = _cdata->_pti;
|
yo = _cdata->_pixels_i[2];
|
||||||
w = _cdata->_pr - _cdata->_pl;
|
w = _cdata->_pixels_i[1] - xo;
|
||||||
h = _cdata->_pbi - _cdata->_pti;
|
h = _cdata->_pixels_i[3] - yo;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -860,7 +860,7 @@ get_region_pixels_i(int &xo, int &yo, int &w, int &h) const {
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE int DisplayRegionPipelineReader::
|
INLINE int DisplayRegionPipelineReader::
|
||||||
get_pixel_width() const {
|
get_pixel_width() const {
|
||||||
return _cdata->_pr - _cdata->_pl;
|
return _cdata->_pixels[1] - _cdata->_pixels[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -869,8 +869,7 @@ get_pixel_width() const {
|
|||||||
// Description: Gets the index into a lens_node lens array. 0 default
|
// Description: Gets the index into a lens_node lens array. 0 default
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE int DisplayRegionPipelineReader::
|
INLINE int DisplayRegionPipelineReader::
|
||||||
get_lens_index() const
|
get_lens_index() const {
|
||||||
{
|
|
||||||
return _cdata->_lens_index;
|
return _cdata->_lens_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -881,5 +880,5 @@ get_lens_index() const
|
|||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
INLINE int DisplayRegionPipelineReader::
|
INLINE int DisplayRegionPipelineReader::
|
||||||
get_pixel_height() const {
|
get_pixel_height() const {
|
||||||
return _cdata->_pt - _cdata->_pb;
|
return _cdata->_pixels[3] - _cdata->_pixels[2];
|
||||||
}
|
}
|
||||||
|
@ -419,9 +419,8 @@ set_target_tex_page(int page) {
|
|||||||
void DisplayRegion::
|
void DisplayRegion::
|
||||||
output(ostream &out) const {
|
output(ostream &out) const {
|
||||||
CDReader cdata(_cycler);
|
CDReader cdata(_cycler);
|
||||||
out << "DisplayRegion(" << cdata->_dimensions << ")=pixels(" << cdata->_pl
|
out << "DisplayRegion(" << cdata->_dimensions << ")=pixels("
|
||||||
<< " " << cdata->_pr << " " << cdata->_pb << " " << cdata->_pt
|
<< cdata->_pixels << ")";
|
||||||
<< ")";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
@ -747,26 +746,28 @@ do_compute_pixels(int x_size, int y_size, CData *cdata) {
|
|||||||
<< "DisplayRegion::do_compute_pixels(" << x_size << ", " << y_size << ")\n";
|
<< "DisplayRegion::do_compute_pixels(" << x_size << ", " << y_size << ")\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
int old_w = cdata->_pr - cdata->_pl;
|
int old_w = cdata->_pixels[1] - cdata->_pixels[0];
|
||||||
int old_h = cdata->_pt - cdata->_pb;
|
int old_h = cdata->_pixels[3] - cdata->_pixels[2];
|
||||||
|
|
||||||
cdata->_pl = int((cdata->_dimensions[0] * x_size) + 0.5);
|
cdata->_pixels[0] = int((cdata->_dimensions[0] * x_size) + 0.5);
|
||||||
cdata->_pr = int((cdata->_dimensions[1] * x_size) + 0.5);
|
cdata->_pixels[1] = int((cdata->_dimensions[1] * x_size) + 0.5);
|
||||||
|
cdata->_pixels_i[0] = cdata->_pixels[0];
|
||||||
|
cdata->_pixels_i[1] = cdata->_pixels[1];
|
||||||
|
|
||||||
nassertv(_window != (GraphicsOutput *)NULL);
|
nassertv(_window != (GraphicsOutput *)NULL);
|
||||||
if (_window->get_inverted()) {
|
if (_window->get_inverted()) {
|
||||||
// The window is inverted; compute the DisplayRegion accordingly.
|
// The window is inverted; compute the DisplayRegion accordingly.
|
||||||
cdata->_pb = int(((1.0f - cdata->_dimensions[3]) * y_size) + 0.5);
|
cdata->_pixels[2] = int(((1.0f - cdata->_dimensions[3]) * y_size) + 0.5);
|
||||||
cdata->_pt = int(((1.0f - cdata->_dimensions[2]) * y_size) + 0.5);
|
cdata->_pixels[3] = int(((1.0f - cdata->_dimensions[2]) * y_size) + 0.5);
|
||||||
cdata->_pbi = int((cdata->_dimensions[3] * y_size) + 0.5);
|
cdata->_pixels_i[2] = int((cdata->_dimensions[3] * y_size) + 0.5);
|
||||||
cdata->_pti = int((cdata->_dimensions[2] * y_size) + 0.5);
|
cdata->_pixels_i[3] = int((cdata->_dimensions[2] * y_size) + 0.5);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// The window is normal.
|
// The window is normal.
|
||||||
cdata->_pb = int((cdata->_dimensions[2] * y_size) + 0.5);
|
cdata->_pixels[2] = int((cdata->_dimensions[2] * y_size) + 0.5);
|
||||||
cdata->_pt = int((cdata->_dimensions[3] * y_size) + 0.5);
|
cdata->_pixels[3] = int((cdata->_dimensions[3] * y_size) + 0.5);
|
||||||
cdata->_pbi = int(((1.0f - cdata->_dimensions[2]) * y_size) + 0.5);
|
cdata->_pixels_i[2] = int(((1.0f - cdata->_dimensions[2]) * y_size) + 0.5);
|
||||||
cdata->_pti = int(((1.0f - cdata->_dimensions[3]) * y_size) + 0.5);
|
cdata->_pixels_i[3] = int(((1.0f - cdata->_dimensions[3]) * y_size) + 0.5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -815,8 +816,9 @@ do_cull(CullHandler *cull_handler, SceneSetup *scene_setup,
|
|||||||
DisplayRegion::CData::
|
DisplayRegion::CData::
|
||||||
CData() :
|
CData() :
|
||||||
_dimensions(0.0f, 1.0f, 0.0f, 1.0f),
|
_dimensions(0.0f, 1.0f, 0.0f, 1.0f),
|
||||||
_pl(0), _pr(0), _pb(0), _pt(0),
|
_pixels(0, 0, 0, 0),
|
||||||
_pbi(0), _pti(0), _lens_index(0),
|
_pixels_i(0, 0, 0, 0),
|
||||||
|
_lens_index(0),
|
||||||
_camera_node((Camera *)NULL),
|
_camera_node((Camera *)NULL),
|
||||||
_active(true),
|
_active(true),
|
||||||
_sort(0),
|
_sort(0),
|
||||||
@ -834,12 +836,8 @@ CData() :
|
|||||||
DisplayRegion::CData::
|
DisplayRegion::CData::
|
||||||
CData(const DisplayRegion::CData ©) :
|
CData(const DisplayRegion::CData ©) :
|
||||||
_dimensions(copy._dimensions),
|
_dimensions(copy._dimensions),
|
||||||
_pl(copy._pl),
|
_pixels(copy._pixels),
|
||||||
_pr(copy._pr),
|
_pixels_i(copy._pixels_i),
|
||||||
_pb(copy._pb),
|
|
||||||
_pt(copy._pt),
|
|
||||||
_pbi(copy._pbi),
|
|
||||||
_pti(copy._pti),
|
|
||||||
_lens_index(copy._lens_index),
|
_lens_index(copy._lens_index),
|
||||||
_camera(copy._camera),
|
_camera(copy._camera),
|
||||||
_camera_node(copy._camera_node),
|
_camera_node(copy._camera_node),
|
||||||
|
@ -195,13 +195,9 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
LVecBase4 _dimensions; // left, right, bottom, top
|
LVecBase4 _dimensions; // left, right, bottom, top
|
||||||
|
LVecBase4i _pixels;
|
||||||
int _pl;
|
LVecBase4i _pixels_i;
|
||||||
int _pr;
|
|
||||||
int _pb;
|
|
||||||
int _pt;
|
|
||||||
int _pbi;
|
|
||||||
int _pti;
|
|
||||||
int _lens_index; // index into which lens of a camera is associated with this display region. 0 is default
|
int _lens_index; // index into which lens of a camera is associated with this display region. 0 is default
|
||||||
|
|
||||||
NodePath _camera;
|
NodePath _camera;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user