void draw_background_by_rect(GtkWidget* widget, struct DisplayInfo info,
                             const gchar* xatom_name)
{
    g_message("[%s], %dx%d(%d,%d)\n", __func__, info.width, info.height,
              info.x, info.y);

    gtk_widget_set_size_request(widget, info.width, info.height);
    gtk_window_move(GTK_WINDOW(widget), info.x, info.y);

    setup_background(widget,NULL,xatom_name);
    gtk_widget_realize (widget);
    GdkWindow* gdkwindow = gtk_widget_get_window (widget);
    gdk_window_set_accept_focus(gdkwindow,FALSE);
    gdk_window_set_override_redirect (gdkwindow, TRUE);
    gtk_widget_show (widget);
}
Beispiel #2
0
/* the main function */
int main( ) {
    /* we set the mode to mode 0 with bg0 on */
    *display_control = MODE0 | BG0_ENABLE;

    /* setup the background 0 */
    setup_background();

    /* set initial scroll to 0 */
    int xscroll = 0;
    int yscroll = 0;

    /* loop forever */
    while (1) {
        /* scroll with the arrow keys */
        if (button_pressed(BUTTON_DOWN)) {
            yscroll++;
        }
        if (button_pressed(BUTTON_UP)) {
            yscroll--;

        }
        if (button_pressed(BUTTON_RIGHT)) {
            xscroll++;
        }
        if (button_pressed(BUTTON_LEFT)) {
            xscroll--;
        }

        /* wait for vblank before scrolling */
        wait_vblank();
        *bg0_x_scroll = xscroll;
        *bg0_y_scroll = yscroll;

        /* delay some */
        delay(200);
    }
}