source: golgotha/src/test/font_test/font_test.cc @ 80

Last change on this file since 80 was 80, checked in by Sam Hocevar, 14 years ago
  • Adding the Golgotha source code. Not sure what's going to be interesting in there, but since it's all public domain, there's certainly stuff to pick up.
File size: 3.2 KB
Line 
1/********************************************************************** <BR>
2  This file is part of Crack dot Com's free source code release of
3  Golgotha. <a href="http://www.crack.com/golgotha_release"> <BR> for
4  information about compiling & licensing issues visit this URL</a>
5  <PRE> If that doesn't help, contact Jonathan Clark at
6  golgotha_source@usa.net (Subject should have "GOLG" in it)
7***********************************************************************/
8
9/*
10Font string used in Gimp
11
12!  "  #  $  %  & '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7   8   9 :  ; (  =  )  ?  @  A  B C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V   W  X  Y  Z [  /  ] ^  -  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t   u  v  w  x  y  z  {  |  }  ~
13
14"
15*/
16
17#include "window/window.hh"
18#include "app/app.hh"
19#include "main/main.hh"
20#include "window/style.hh"
21#include "file/file.hh"
22#include "loaders/load.hh"
23#include "window/wmanager.hh"
24#include "gui/text_input.hh"
25#include "font/anti_prop.hh"
26
27class font_win : public i4_window_class
28{
29public:
30  i4_graphical_style_class *style;
31  font_win(i4_graphical_style_class *style)
32    : i4_window_class(500,480), style(style)
33  {
34   
35  }
36
37  void draw(i4_draw_context_class &context)
38  {
39    i4_font_class *font=style->font_hint->normal_font;
40
41    local_image->clear(0,context);
42    font->set_color(0xffff00);
43    font->put_paragraph(local_image, 0,15,
44                        i4_const_str("Helicopter:\n"
45                                     "The helicopter is not limited by terrain and moves "
46                                     "quickly.  It is a fairly weak vehicle."),
47                        context,
48                        0, i4_font_class::FULL, 200);
49    local_image->bar(width()/2, 0, width()/2, height()-1, 0xff, context);
50
51    font->put_paragraph(local_image, 0,200,
52                        i4_const_str("    !  \"  #  $  %  & '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7   8   9 :  ; (  =  )  ?  @  A  B C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V   W  X  Y  Z [  /  ] ^  -  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t   u  v  w  x  y  z  {  |  }  ~ "),
53                        context,
54                        0, i4_font_class::FULL, 500);
55
56
57
58  }
59
60  char *name() { return "font_win"; }
61};
62
63class test_app : public i4_application_class
64{
65public:
66  void init()
67  {   
68    i4_application_class::init();
69
70
71    i4_graphical_style_class *style=wm->get_style();
72
73    if (i4_global_argc==2)
74      style->font_hint->normal_font=new i4_anti_proportional_font_class(i4_load_image(i4_global_argv[1]));
75
76                                                                       
77
78    wm->add_child(0,50, new font_win(style));
79    i4_window_class *ti=new i4_text_input_class(style, i4_const_str("Testing"), 400, 500);
80    i4_parent_window_class *mp=style->create_mp_window(80,200, ti->width(), ti->height(),
81                                                       i4_const_str("Text input"));
82    mp->add_child(0,0,ti);
83  }
84
85  char *name() { return "test_app"; }
86};
87
88void i4_main(w32 argc, i4_const_str *argv)
89{
90  test_app test;
91  test.run();
92}
93
94
95
96
97
Note: See TracBrowser for help on using the repository browser.