本文整理汇总了C++中WindowManager::get_width方法的典型用法代码示例。如果您正苦于以下问题:C++ WindowManager::get_width方法的具体用法?C++ WindowManager::get_width怎么用?C++ WindowManager::get_width使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WindowManager
的用法示例。
在下文中一共展示了WindowManager::get_width方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PaintToolGL
PaintToolGL(const Gdk::Region& invalid_region, const WindowManager& wm) : PaintTool(invalid_region, wm)
{
_full_area_height = wm.get_height();
_full_area_width = wm.get_width();
glViewport(0.f, 0.f, _full_area_width, _full_area_height);
glDisable(GL_SCISSOR_TEST);
Gdk::Rectangle area;
/*get_invalid_region().get_clipbox(area);*/area = Gdk::Rectangle(0, 0, _full_area_width, _full_area_height);
g_assert(get_scissor_stack_depth()==0);
push_scissor(area);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.f, _full_area_width, _full_area_height, 0.f, -1.f, 1.f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClearStencil(0);
glClear(GL_STENCIL_BUFFER_BIT);
glDisable(GL_STENCIL_TEST);
glStencilFunc(GL_EQUAL, 1, 1);
glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE);
Glib::ArrayHandle<Gdk::Rectangle> invalid_rectangles = invalid_region.get_rectangles();
glBegin(GL_QUADS);
for(Glib::ArrayHandle<Gdk::Rectangle>::const_iterator r_iter = invalid_rectangles.begin(); r_iter != invalid_rectangles.end(); ++r_iter)
{
const Gdk::Rectangle& rect = *r_iter;
gfloat x = rect.get_x();
gfloat y = rect.get_y();
gfloat x2 = x+rect.get_width();
gfloat y2 = y+rect.get_height();
glVertex3f(x , y , 0.f);
glVertex3f(x , y2, 0.f);
glVertex3f(x2, y2, 0.f);
glVertex3f(x2, y , 0.f);
}
glEnd();
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP);
glEnable(GL_STENCIL_TEST);
glClearColor(0.f, 0.f, 0.f, 1.f);
glClear(GL_COLOR_BUFFER_BIT);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_SCISSOR_TEST);
glDisable(GL_STENCIL_TEST);
}