int WindowControl::get_height()
{
    int w, h;
    platform_get_size(&w, &h);
    return h;
}
Exemple #2
0
void GameManager::draw()
{
    int window_width, window_height;
    platform_get_size(&window_width, &window_height);
    if (window_width <= 0 || window_height <= 0)
        // for some reason, GLFW sets these properties to 0 when minimized.
        return;

#ifdef CHOWDREN_FORCE_REMOTE
    platform_set_remote_value(CHOWDREN_REMOTE_TARGET);
#endif

    PROFILE_FUNC();

    PROFILE_BEGIN(platform_begin_draw);
    platform_begin_draw();
    PROFILE_END();

#ifdef CHOWDREN_USE_SUBAPP
    Frame * render_frame;
    if (SubApplication::current != NULL &&
        SubApplication::current->flags & VISIBLE) {
        render_frame = &SubApplication::current->subapp_frame;
    } else
        render_frame = frame;
#else
    Frame * render_frame = frame;
#endif

    PROFILE_BEGIN(frame_draw);
#ifdef CHOWDREN_IS_WIIU
    int remote_setting = platform_get_remote_value();
    if (remote_setting == CHOWDREN_HYBRID_TARGET) {
        platform_set_display_target(CHOWDREN_REMOTE_TARGET);
        render_frame->draw(CHOWDREN_REMOTE_TARGET);
        draw_fade();
        platform_set_display_target(CHOWDREN_TV_TARGET);
        render_frame->draw(CHOWDREN_TV_TARGET);
        draw_fade();
    } else {
        platform_set_display_target(CHOWDREN_TV_TARGET);
        render_frame->draw(CHOWDREN_HYBRID_TARGET);
        draw_fade();
        if (remote_setting == CHOWDREN_REMOTE_TARGET) {
            platform_clone_buffers();
            platform_set_display_target(CHOWDREN_REMOTE_TARGET);
            render_frame->draw(CHOWDREN_REMOTE_ONLY);
        }
    }
#elif CHOWDREN_IS_3DS
    platform_set_display_target(CHOWDREN_TV_TARGET);
    render_frame->draw(CHOWDREN_TV_TARGET);
    draw_fade();

    // only draw 30 fps on bottom screen
    static int draw_interval = 0;
    if (draw_interval == 0) {
        platform_set_display_target(CHOWDREN_REMOTE_TARGET);
        render_frame->draw(CHOWDREN_REMOTE_TARGET);
        draw_fade();
    }
    draw_interval = (draw_interval + 1) % 3;
#else
    render_frame->draw(CHOWDREN_HYBRID_TARGET);
    draw_fade();
#endif
    PROFILE_END();

    Render::set_offset(0, 0);

#ifdef CHOWDREN_IS_DEMO
    if (show_build_timer > 0.0) {
        std::string date(__DATE__);
        std::string tim(__TIME__);
        std::string val = date + " " + tim;
        glPushMatrix();
        glTranslatef(50, 50, 0);
        glScalef(5, -5, 5);
        glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
        get_font(24)->Render(val.c_str(), val.size(), FTPoint(),
                             FTPoint());
        glPopMatrix();
    }
#endif

    PROFILE_BEGIN(platform_swap_buffers);
    platform_swap_buffers();
    PROFILE_END();
}
int WindowControl::get_width()
{
    int w, h;
    platform_get_size(&w, &h);
    return w;
}
void platform_get_screen_size(int * width, int * height)
{
    platform_get_size(width, height);
}