void dialog_frame::draw_border() { if(have_border_ == false) { return; } surface top_image(scale_surface(top_, dim_.interior.w, top_->h)); if(top_image != NULL) { video_.blit_surface(dim_.interior.x, dim_.exterior.y, top_image); } surface bot_image(scale_surface(bot_, dim_.interior.w, bot_->h)); if(bot_image != NULL) { video_.blit_surface(dim_.interior.x, dim_.interior.y + dim_.interior.h, bot_image); } surface left_image(scale_surface(left_, left_->w, dim_.interior.h)); if(left_image != NULL) { video_.blit_surface(dim_.exterior.x, dim_.interior.y, left_image); } surface right_image(scale_surface(right_, right_->w, dim_.interior.h)); if(right_image != NULL) { video_.blit_surface(dim_.interior.x + dim_.interior.w, dim_.interior.y, right_image); } update_rect(dim_.exterior); if(top_left_ == NULL || bot_left_ == NULL || top_right_ == NULL || bot_right_ == NULL) { return; } video_.blit_surface(dim_.interior.x - left_->w, dim_.interior.y - top_->h, top_left_); video_.blit_surface(dim_.interior.x - left_->w, dim_.interior.y + dim_.interior.h + bot_->h - bot_left_->h, bot_left_); video_.blit_surface(dim_.interior.x + dim_.interior.w + right_->w - top_right_->w, dim_.interior.y - top_->h, top_right_); video_.blit_surface(dim_.interior.x + dim_.interior.w + right_->w - bot_right_->w, dim_.interior.y + dim_.interior.h + bot_->h - bot_right_->h, bot_right_); }
void dialog_frame::draw_border() { if(have_border_ == false) { return; } #ifdef SDL_GPU top_.set_hscale(float(dim_.interior.w )/ top_.base_width()); video_.draw_texture(top_, dim_.interior.x, dim_.exterior.y); bot_.set_hscale(float(dim_.interior.w) / bot_.base_width()); video_.draw_texture(bot_, dim_.interior.x, dim_.interior.y + dim_.interior.h); left_.set_vscale(float(dim_.interior.h) / left_.base_height()); video_.draw_texture(left_, dim_.exterior.x, dim_.interior.y); right_.set_vscale(float(dim_.interior.h) / right_.base_height()); video_.draw_texture(right_, dim_.interior.x + dim_.interior.w, dim_.interior.y); if(top_left_.null() || bot_left_.null() || top_right_.null() || bot_right_.null()) { return; } video_.draw_texture(top_left_, dim_.interior.x - left_.width(), dim_.interior.y - top_.height()); video_.draw_texture(bot_left_, dim_.interior.x - left_.width(), dim_.interior.y + dim_.interior.h + bot_.height() - bot_left_.height()); video_.draw_texture(top_right_, dim_.interior.x + dim_.interior.w + right_.width() - top_right_.width(), dim_.interior.y - top_.height()); video_.draw_texture(bot_right_, dim_.interior.x + dim_.interior.w + right_.width() - bot_right_.width(), dim_.interior.y + dim_.interior.h + bot_.height() - bot_right_.height()); #else surface top_image(scale_surface(top_, dim_.interior.w, top_->h)); if(top_image != NULL) { video_.blit_surface(dim_.interior.x, dim_.exterior.y, top_image); } surface bot_image(scale_surface(bot_, dim_.interior.w, bot_->h)); if(bot_image != NULL) { video_.blit_surface(dim_.interior.x, dim_.interior.y + dim_.interior.h, bot_image); } surface left_image(scale_surface(left_, left_->w, dim_.interior.h)); if(left_image != NULL) { video_.blit_surface(dim_.exterior.x, dim_.interior.y, left_image); } surface right_image(scale_surface(right_, right_->w, dim_.interior.h)); if(right_image != NULL) { video_.blit_surface(dim_.interior.x + dim_.interior.w, dim_.interior.y, right_image); } update_rect(dim_.exterior); if(top_left_ == NULL || bot_left_ == NULL || top_right_ == NULL || bot_right_ == NULL) { return; } video_.blit_surface(dim_.interior.x - left_->w, dim_.interior.y - top_->h, top_left_); video_.blit_surface(dim_.interior.x - left_->w, dim_.interior.y + dim_.interior.h + bot_->h - bot_left_->h, bot_left_); video_.blit_surface(dim_.interior.x + dim_.interior.w + right_->w - top_right_->w, dim_.interior.y - top_->h, top_right_); video_.blit_surface(dim_.interior.x + dim_.interior.w + right_->w - bot_right_->w, dim_.interior.y + dim_.interior.h + bot_->h - bot_right_->h, bot_right_); #endif }