コード例 #1
0
ファイル: menu_entity.c プロジェクト: kroltan/ifcgame
void menu_draw(Entity *ent) {
    MenuEntityData *data = entity_data(ent);

    if (data->logo) {
        draw_sprite(data->logo, -0.4, 0.35, 6, 0);
    }

    draw_textf(game.default_font, al_map_rgb(255, 255, 255), 0, 0, MENU_FONT_SIZE, TEXT_HALIGN_RIGHT, "IP: ");
    textbox_draw(&data->server, 0, 0);

    draw_textf(game.default_font, al_map_rgb(255, 255, 255), 0, -1, MENU_FONT_SIZE, TEXT_HALIGN_RIGHT, "PORT: ");
    textbox_draw(&data->port, 0, -1);

    draw_textf(
        game.default_font,
        al_map_rgb(255, 255, 255),
        0, -3,
        MENU_FONT_SIZE, TEXT_HALIGN_CENTER,
        "Aperte ENTER para conectar"
    );
    draw_textf(
        game.default_font,
        al_map_rgb(255, 255, 255),
        0, -4.5,
        MENU_FONT_SIZE / 2, TEXT_HALIGN_CENTER,
        "Código e sprites por Leonardo Giovanni Scur"
    );
}
コード例 #2
0
ファイル: menus.cpp プロジェクト: Fru5trum/acr
 virtual void render(int x, int y, int w)
 {
     mitem::render(x, y, w);
     if(image || altfont)
     {
         int xs = 0;
         if(image)
         {
             glBindTexture(GL_TEXTURE_2D, image->id);
             glDisable(GL_BLEND);
             glColor3f(1, 1, 1);
             xs = (FONTH*image->xs)/image->ys;
             glBegin(GL_TRIANGLE_STRIP);
             glTexCoord2f(0, 0); glVertex2f(x,    y);
             glTexCoord2f(1, 0); glVertex2f(x+xs, y);
             glTexCoord2f(0, 1); glVertex2f(x,    y+FONTH);
             glTexCoord2f(1, 1); glVertex2f(x+xs, y+FONTH);
             glEnd();
             xtraverts += 4;
             glEnable(GL_BLEND);
         }
         draw_text(text, !image || *text == '\t' ? x : x+xs + FONTH/2, y);
         if(altfont && strchr(text, '\a'))
         {
             char *r = newstring(text), *re, *l = r;
             while((re = strchr(l, '\a')) && re[1])
             {
                 *re = '\0';
                 x += text_width(l);
                 l = re + 2;
                 pushfont(altfont->name);
                 draw_textf("%c", x, y, re[1]);
                 popfont();
             }
             delete[] r;
         }
         if(image && isselection() && !hidebigmenuimages && image->ys > FONTH)
         {
             w += FONTH;
             int xs = (2 * VIRTW - w) / 5, ys = (xs * image->ys) / image->xs;
             x = (6 * VIRTW + w - 2 * xs) / 4; y = VIRTH - ys / 2;
             blendbox(x - FONTH, y - FONTH, x + xs + FONTH, y + ys + FONTH, false);
             glBindTexture(GL_TEXTURE_2D, image->id);               // I just copy&pasted this...
             glDisable(GL_BLEND);
             glColor3f(1, 1, 1);
             glBegin(GL_TRIANGLE_STRIP);
             glTexCoord2f(0, 0); glVertex2f(x,    y);
             glTexCoord2f(1, 0); glVertex2f(x+xs, y);
             glTexCoord2f(0, 1); glVertex2f(x,    y+ys);
             glTexCoord2f(1, 1); glVertex2f(x+xs, y+ys);
             glEnd();
             xtraverts += 4;
             glEnable(GL_BLEND);
         }
     }
     else mitemmanual::render(x, y, w);
 }
コード例 #3
0
ファイル: cardioid.c プロジェクト: EricShalov/ericdraw
int main() {
     char filename[] = "cardioid.png";
     struct image *i;
     int x,y;
     double a, r;

     i = draw_create_image(300,300);

     draw_full(i, white);

     draw_color(i, black);
     for(x=-4;x<=4;x++) draw_textf(i, 150+x*30+3,150+3, 1, "%d", x);
     for(y=-4;y<=4;y++) draw_textf(i, 150+3,150-y*30+4, 1, "%d", y);

     draw_color(i,blue);
     for(x=0;x<300;x+=30) draw_line(i, x,0, x,i->height-1);
     for(y=0;y<300;y+=30) draw_line(i, 0,y, i->width-1,y);
     draw_box(i, 0,0, i->width-1,i->height-1);
     
     draw_color(i, black);

     for(x=-1;x<=1;x++)     
       draw_line(i, 150+x,0, 150+x,i->height-1);
     for(y=-1;y<=1;y++)     
       draw_line(i, 0,150+y, i->width-1,150+y);
     
     draw_color(i, green);
     
     /* Cardioid */
     for(a = 0.0; a < 360.0; a += 0.5) {
       r = 0.0 - sin(0.5*a/180*M_PI)*120.0;
       draw_pixel(i, 150+sin(a/180*M_PI)*r, 150+cos(a/180*M_PI)*r, red);
     }

     draw_color(i, black);
     draw_textf(i, 5,i->height-16-2, 2, "Cardioid");

     draw_write_png(i, filename);

     draw_free_image(i);

     return 0;
}
コード例 #4
0
ファイル: rpg.cpp プロジェクト: pmcoder/sauerbraten
    void gameplayhud(int w, int h)
    {
        glPushMatrix();
        glScalef(0.5f, 0.5f, 1);
        draw_textf("using: %s", 636*2, h*2-256+149, selected ? selected->name : "(none)");       // temp     
        glPopMatrix();

        settexture("packages/hud/hud_rpg.png", 3);
        
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
        quad(0, h-128, 768, 128);        
        settexture("packages/hud/hbar.png", 3);
        glColor4f(1, 0, 0, 0.5f);
        quad(130, h-128+57, 193*playerobj->s_hp/playerobj->eff_maxhp(), 17);        
        glColor4f(0, 0, 1, 0.5f);
        quad(130, h-128+87, 193*playerobj->s_mana/playerobj->eff_maxmana(), 17);        
    }
コード例 #5
0
ファイル: jukebox.c プロジェクト: msikma/ceegee
/**
 * Draws the current time and duration of the song to the screen.
 */
void update_track_data() {
    draw_textf(buffer, help_text_x, help_text_y4, TXT_WHITE, -1, -1,
        TXT_REGULAR, TXT_CENTER, "%ld:%02ld/%d:%02d", midi_time / 60,
        midi_time % 60, length / 60, length % 60);
}
コード例 #6
0
ファイル: jukebox.c プロジェクト: msikma/ceegee
/**
 * Updates the display to show what song is currently playing.
 */
void update_song_data() {
    draw_textf(buffer, help_text_x, help_text_y3, TXT_WHITE, -1, -1,
        TXT_REGULAR, TXT_CENTER, "%d/%d: %s", track_n + 1,
        ALL_MUSIC_AMOUNT, CURR_TRACK->name);
}