Tutorial: drawing text language-dependend
=========================================

Give out a text language-dependend.


step 1
At first we have to initialize VgaGames
and open a window or switch to graphical screen.

==>
int main(int argc, char ** argv) {
  char * arg0;  // for the name of the program
  char txt[128],buf[128];  // for the text
  const char * ptr;  // for the translated text
  int x,y;

  /* initialize vgagames, always pass argv[0] */
  // use default language (NULL): the language used in this program
  if (vg_init_vgagames(argv[0],0,NULL) < 0) {exit(1);}

  /* open window */
  if ((arg0=strrchr(argv[0],'/'))==NULL) {arg0=argv[0];} else {arg0++;}
  if (vg_window_open(arg0,0,0) < 0) {exit(1);}
<== step 2 We draw the format-text "This language is: %s" with the actual language. ==>
  /* set text */
  snprintf(txt,sizeof(txt),"This language is: %%s");

  /* draw text language-dependend */
  ptr=vg_get_textformat(txt);  // ptr points to the translated text or to txt
  snprintf(buf,sizeof(buf),ptr,vg_get_textformat("english"));
  x=(SC_WIDTH-strlen(buf)*vg_font_width(NULL))/2;
  y=(SC_HEIGHT-vg_font_height(NULL))/2;
  vg_draw_text(NULL,RGB_WHITE,x,y,buf,NULL,RGB_FULL);

  /* now flush window out to visible screen and wait 3 seconds */
  vg_window_flush();
  sleep(3);
  vg_bitmap_clear(NULL,RGB_BLACK);  // clear window
<== step 3 We call the language menu of the VgaGames-system-menu, hoping you change the language. ==>
  /* call language menu of the VgaGames-system-menu */
  // you should change the language
  vg_menu_language();

  /* again draw text language-dependend */
  ptr=vg_get_textformat(txt);  // ptr points to the translated text or to txt
  snprintf(buf,sizeof(buf),ptr,vg_get_textformat("english"));
  x=(SC_WIDTH-strlen(buf)*vg_font_width(NULL))/2;
  y=(SC_HEIGHT-vg_font_height(NULL))/2;
  vg_draw_text(NULL,RGB_WHITE,x,y,buf,NULL,RGB_FULL);

  /* now flush window out to visible screen and wait 3 seconds */
  vg_window_flush();
  sleep(3);

  /* close window */
  vg_window_close();

  exit(0);
}
<== The whole program tut-font2.c
[Previous] - [Index] - [Next]