Beispiel #1
0
    void set_parent(window * win, window * parent)
    {
        BOOST_ASSERT(win && parent);

        wx_window * wxwin = static_cast<wx_window *>(win),
                  * wxpar = static_cast<wx_window *>(parent);

        wxwin->unlink();

        if (wxpar)
        {
            wxwin->parent = wxpar;
            wxpar->children.push_back(*wxwin);

            wxwin->is_toplevel = false;

            detail::set_buffer(wxwin);
        }
        else
        {
            wxwin->parent = wxpar;
            wxwin->is_toplevel = true;

            detail::set_buffer(wxwin);
        }

        // TODO: Error checking
        wxwin->win->Reparent(wxpar->win);

        if ((!parent || is_shown(wxpar)) && !is_shown(wxwin))
            show_window(wxwin);
    }
void HealthWindow::draw() {
	if (is_shown()) {
		glPushMatrix();
		glBindTexture(GL_TEXTURE_2D, font_->get_texture()->get_index());
		glListBase(font_->get_displaylist());
		
		glLoadIdentity();
		glTranslatef(position_->x, position_->y, position_->z);
		glCallLists(health_string_.size(), GL_BYTE, health_string_.c_str());
		
		glPopMatrix();
	}
}
void GlConsoleWindow::draw() {
    if (is_shown()) {
        glPushMatrix();
        glBindTexture(GL_TEXTURE_2D, font_->get_texture()->get_index());
        glListBase(font_->get_displaylist());
        int lineno = (top_ == 0) ? kLINE_COUNT - 1 : top_ - 1;

        for (int i = 0; i < kLINE_COUNT; ++i) {
            glLoadIdentity();
            glTranslatef(0, i*kFONT_HEIGHT, 0);
            //std::cout << "draw " << console_[i].size() << " ";
            glCallLists(console_[lineno].size(), GL_BYTE, console_[lineno].c_str());
            lineno = (lineno == 0) ? kLINE_COUNT - 1 : lineno - 1;
        }

        glPopMatrix();
    }
}