Exemple #1
0
void gb_set_pal(int i) {

    grey[0]=COL32_TO_16(conf.pal[i][0]); //0xc618; // ffe6ce
    grey[1]=COL32_TO_16(conf.pal[i][1]); //0x8410; // bfad9a
    grey[2]=COL32_TO_16(conf.pal[i][2]); //0x4208; // 7f7367
    grey[3]=COL32_TO_16(conf.pal[i][3]); //0x0000; // 3f3933

}
Exemple #2
0
void draw_border_label(SDL_Surface *s,SDL_Surface *font,int type,SDL_Rect *r,char *label) {
    int lw=(font->w/(float)95)*strlen(label);
    int lh=font->h;
    int dt=(lh-2)/(float)2;
    SDL_Rect wrect={r->x+dt,r->y+dt,r->w-dt*2,r->h-dt*2};
    SDL_Rect lrect={r->x+14,r->y,lw+2,lh};

    SDL_FillRect(s,r,COL32_TO_16(0xd6d6d6));
    inter_draw_border(s,type,&wrect);
    SDL_FillRect(s,&lrect,COL32_TO_16(0xd6d6d6));
    draw_string(s,font,r->x+15,r->y,label);
}
Exemple #3
0
/* draw a preview of a pal */
void menu_draw_pal(MENU_ITEM *self,int menu_pos)
{
  SDL_Rect b;
  int i;
  int pal=(int)self->user_data;

  b.x=100;
  b.y=MENUY+menu_pos*hl+3;
  b.w=22;
  b.h=7;
  SDL_FillRect(back,&b,COL32_TO_16(0x000000));
  
  b.w=5;
  b.h=5;
  b.y+=1;
  for(i=0;i<4;i++) {
    b.x=101+i*5;
    
    SDL_FillRect(back,&b,COL32_TO_16(conf.pal[pal][3-i]));
  }

}
Exemple #4
0
void display_menu(MENU *m)
{
  SDL_Rect b;
  int i;
  MENU_ITEM *item=m->item;


  b.x=MENUX-2;
  b.y=MENUY-2;
  b.w=wl*21+3;
  b.h=hl*10+3;
  draw_border(back,SHADOW_OUT,&b);

  b.x=MENUX;
  b.y=MENUY+hl*2-hl/2;
  b.w=wl*21-2;
  b.h=hl*8;
  draw_border(back,SHADOW_ETCHED_IN,&b);
  
 
  if (!item) return;

  for(i=0;i<m->begin;i++)
    item=item->next;

  draw_message(MENUX,MENUY,m->title);
 
  for(i=m->begin;i<=m->end;i++) {
 
    if (i==m->id) {
      b.x=MENUX+3;
      b.y=MENUY+(i-m->begin+2)*hl;
      b.w=wl*21-8;
      b.h=hl;
      SDL_FillRect(back,&b,COL32_TO_16(0xeaeaea));
      if (item->draw_info && item->draw_type==DRAW_WHEN_ACTIVE)
	item->draw_info(item,i-m->begin+2);
    }
    if (item->type==TOGGLE) {
      b.x=135;
      b.y=MENUY+(i-m->begin+2)*hl+2;
      SDL_BlitSurface((item->state?toggle_on:toggle_off),NULL,back,&b);
    }
    if (item->type==RADIO) {
      b.x=135;
      b.y=MENUY+(i-m->begin+2)*hl+2;
      SDL_BlitSurface((item->radio==radio_group[item->group]?radio_on:radio_off),NULL,back,&b);
    }
    draw_message(MENUX+wl,MENUY+(i-m->begin+2)*hl,item->name);
    if (item->draw_info && item->draw_type==DRAW_ALWAYS)
      item->draw_info(item,i-m->begin+2);
    item=item->next;
  }
  if (m->end!=m->size-1) {
    b.x=75;
    b.y=MENUY+(MAX_ITEM+1)*hl+hl/2+24;
    b.w=b.h=9;
    SDL_BlitSurface(arrow_down,NULL,back,&b);
  }
  if (m->begin!=0) {
    b.x=75;
    b.y=22;
    SDL_BlitSurface(arrow_up,NULL,back,&b);
  }


}
Exemple #5
0
void draw_border(SDL_Surface *s,int type,SDL_Rect *r)
{
  SDL_FillRect(s,r,COL32_TO_16(0xd6d6d6));
  switch(type) {
  case SHADOW_OUT:
    draw_h_line(s,r->x,r->y,r->w,COL32_TO_16(0xFFFFFF));
    draw_h_line(s,r->x+1,r->y+1,r->w-1,COL32_TO_16(0xd6d6d6));
    draw_h_line(s,r->x,r->y+r->h,r->w+1,COL32_TO_16(0x000000));
    draw_h_line(s,r->x+2,r->y+r->h-1,r->w-2,COL32_TO_16(0x969696));
    
    draw_v_line(s,r->x,r->y,r->h,COL32_TO_16(0xFFFFFF));
    draw_v_line(s,r->x+1,r->y+1,r->h-1,COL32_TO_16(0xd6d6d6));
    draw_v_line(s,r->x+r->w,r->y,r->h,COL32_TO_16(0x000000));
    draw_v_line(s,r->x+r->w-1,r->y+1,r->h-1,COL32_TO_16(0x969696));
    break;
  case SHADOW_ETCHED_IN:
    draw_h_line(s,r->x,r->y,r->w,COL32_TO_16(0x969696));
    draw_h_line(s,r->x+1,r->y+1,r->w-1,COL32_TO_16(0xFFFFFF));
    draw_h_line(s,r->x,r->y+r->h-1,r->w-1,COL32_TO_16(0x969696));
    draw_h_line(s,r->x,r->y+r->h,r->w,COL32_TO_16(0xFFFFFF));
    
    draw_v_line(s,r->x,r->y,r->h-1,COL32_TO_16(0x969696));
    draw_v_line(s,r->x+1,r->y+1,r->h-2,COL32_TO_16(0xFFFFFF));
    draw_v_line(s,r->x+r->w-1,r->y+2,r->h-2,COL32_TO_16(0x969696));
    draw_v_line(s,r->x+r->w,r->y+1,r->h,COL32_TO_16(0xFFFFFF));
    break;
  default:
    break;
  }
}
Exemple #6
0
void draw_border_color(SDL_Surface *s,int type,SDL_Rect *r,Uint32 col) {
    SDL_FillRect(s,r,COL32_TO_16(col));
    inter_draw_border(s,type,r);
}
Exemple #7
0
void draw_border(SDL_Surface *s,int type,SDL_Rect *r) {
    SDL_FillRect(s,r,COL32_TO_16(0xd6d6d6));
    inter_draw_border(s,type,r);
}