Guest User

Untitled

a guest
May 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 20.15 KB | None | 0 0
  1. //==============================================================================
  2. cTableFont gFont;
  3. //==============================================================================
  4.  
  5.  
  6. //==============================================================================
  7. void cTableFont::pixel(int x, int y, int w, int h, int r, int g, int b, int a, bool bBlend)
  8. {
  9. //  gGl.drawBox(float(x), float(y), w, h, r, g, b, a, bBlend);
  10.     tintArea(x, y, w, h, r, g, b, a);
  11. }
  12. //==============================================================================
  13.  
  14.  
  15. //==============================================================================
  16. cTableFont::cTableFont()
  17. {
  18.  
  19. }
  20. //==============================================================================
  21.  
  22.  
  23. //==============================================================================
  24. void cTableFont::drawString(bool bCenter, int x, int y, int r, int g, int b, const char *pInput, ...)
  25. {
  26.   char buf[256];
  27.   va_list arguments;
  28.  
  29.   va_start(arguments, pInput);
  30.   vsprintf(buf, pInput, arguments);
  31.   va_end(arguments);
  32.  
  33.   if (bCenter)
  34.   {
  35.     int iLength;
  36.     iLength=iGetWidth(buf);
  37.     x=x-iLength/2;
  38.   }
  39.  
  40.   int oldX=x;
  41.  
  42.   int bg_r, bg_g, bg_b;
  43.   if (r==0 && g==0 && b==0)
  44.   {
  45.     bg_r=180;
  46.     bg_g=180;
  47.     bg_b=180;
  48.   }
  49.   else
  50.   {
  51.     bg_r=0;
  52.     bg_g=0;
  53.     bg_b=0;
  54.   }
  55.  
  56.   //oglSubtractive=true;
  57.  
  58.   for (int i=0;i<sizeof(buf);i++)
  59.   {
  60.     if (buf[i]=='\0')
  61.     {
  62.       //oglSubtractive=false;
  63.       return;
  64.     }
  65.     else if (buf[i]==' ')
  66.     {
  67.       x+=4;
  68.     }
  69.     if (buf[i]=='\n')
  70.     {
  71.       y+=11;
  72.       x=oldX;
  73.     }
  74.     else if (buf[i]=='a' || buf[i]=='A')
  75.     {
  76.       //background
  77.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  78.       //balken oben
  79.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  80.       //balken mitte
  81.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  82.       //balken links
  83.       pixel(x+1, y+2, 1, 4, r, g, b, 255);
  84.       //balken rechts
  85.       pixel(x+4, y+2, 1, 4, r, g, b, 255);
  86.       x+=6;
  87.     }
  88.     else if (buf[i]=='b' || buf[i]=='B' || buf[i]=='8')
  89.     {
  90.       //background
  91.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  92.       //balken oben
  93.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  94.       //balken mitte
  95.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  96.       //balken unten
  97.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  98.       //balken links
  99.       pixel(x+1, y+2, 1, 3, r, g, b, 255);
  100.       //balken rechts
  101.       pixel(x+4, y+2, 1, 3, r, g, b, 255);
  102.       x+=6;
  103.     }
  104.     else if (buf[i]=='c' || buf[i]=='C')
  105.     {
  106.       //background
  107.       pixel(x, y, 6, 3, bg_r, bg_g, bg_b, 255);
  108.       pixel(x, y+3, 3, 1, bg_r, bg_g, bg_b, 255);
  109.       pixel(x, y+4, 6, 3, bg_r, bg_g, bg_b, 255);
  110.       //balken oben
  111.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  112.       //balken unten
  113.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  114.       //balken links
  115.       pixel(x+1, y+2, 1, 3, r, g, b, 255);
  116.       x+=6;
  117.     }
  118.     else if (buf[i]=='d' || buf[i]=='D')
  119.     {
  120.       //background
  121.       pixel(x, y, 5, 7, bg_r, bg_g, bg_b, 255);
  122.       pixel(x+5, y+1, 1, 5, bg_r, bg_g, bg_b, 255);
  123.       //balken oben
  124.       pixel(x+1, y+1, 3, 1, r, g, b, 255);
  125.       //balken unten
  126.       pixel(x+1, y+5, 3, 1, r, g, b, 255);
  127.       //balken links
  128.       pixel(x+1, y+2, 1, 3, r, g, b, 255);
  129.       //balken rechts
  130.       pixel(x+4, y+2, 1, 3, r, g, b, 255);
  131.       x+=6;
  132.     }
  133.     else if (buf[i]=='e' || buf[i]=='E')
  134.     {
  135.       //background
  136.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  137.       //balken oben
  138.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  139.       //balken mitte
  140.       pixel(x+2, y+3, 3, 1, r, g, b, 255);
  141.       //balken unten
  142.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  143.       //balken links
  144.       pixel(x+1, y+2, 1, 3, r, g, b, 255);
  145.       x+=6;
  146.     }
  147.     else if (buf[i]=='f' || buf[i]=='F')
  148.     {
  149.       //background
  150.       pixel(x, y, 6, 5, bg_r, bg_g, bg_b, 255);
  151.       pixel(x, y+5, 3, 2, bg_r, bg_g, bg_b, 255);
  152.       //balken oben
  153.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  154.       //balken mitte
  155.       pixel(x+2, y+3, 3, 1, r, g, b, 255);
  156.       //balken links
  157.       pixel(x+1, y+2, 1, 4, r, g, b, 255);
  158.       x+=6;
  159.     }
  160.     else if (buf[i]=='g' || buf[i]=='G')
  161.     {
  162.       //background
  163.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  164.       //balken oben
  165.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  166.       //balken mitte
  167.       pixel(x+3, y+3, 1, 1, r, g, b, 255);
  168.       //balken unten
  169.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  170.       //balken links
  171.       pixel(x+1, y+2, 1, 3, r, g, b, 255);
  172.       //balken rechts
  173.       pixel(x+4, y+3, 1, 2, r, g, b, 255);
  174.       x+=6;
  175.     }
  176.     else if (buf[i]=='h' || buf[i]=='H')
  177.     {
  178.       //background
  179.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  180.       //balken mitte
  181.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  182.       //balken links
  183.       pixel(x+1, y+1, 1, 5, r, g, b, 255);
  184.       //balken rechts
  185.       pixel(x+4, y+1, 1, 5, r, g, b, 255);
  186.       x+=6;
  187.     }
  188.     else if (buf[i]=='i' || buf[i]=='I' || buf[i]=='1')
  189.     {
  190.       //background
  191.       pixel(x, y, 5, 3, bg_r, bg_g, bg_b, 255);
  192.       pixel(x+1, y+3, 3, 1, bg_r, bg_g, bg_b, 255);
  193.       pixel(x, y+4, 5, 3, bg_r, bg_g, bg_b, 255);
  194.       //balken oben
  195.       pixel(x+1, y+1, 3, 1, r, g, b, 255);
  196.       //balken unten
  197.       pixel(x+1, y+5, 3, 1, r, g, b, 255);
  198.       //balken mitte (senkrecht)
  199.       pixel(x+2, y+2, 1, 3, r, g, b, 255);
  200.       x+=5;
  201.     }
  202.     else if (buf[i]=='j' || buf[i]=='J')
  203.     {
  204.       //background
  205.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  206.       //balken oben
  207.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  208.       //balken unten
  209.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  210.       //balken links
  211.       pixel(x+1, y+4, 1, 1, r, g, b, 255);
  212.       //balken rechts
  213.       pixel(x+4, y+2, 1, 3, r, g, b, 255);
  214.       x+=6;
  215.     }
  216.     else if (buf[i]=='k' || buf[i]=='K')
  217.     {
  218.       //background
  219.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  220.       //balken mitte
  221.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  222.       //balken links
  223.       pixel(x+1, y+1, 1, 5, r, g, b, 255);
  224.       //balken rechts
  225.       pixel(x+4, y+3, 1, 3, r, g, b, 255);
  226.       //punkte
  227.       pixel(x+4, y+1, 1, 1, r, g, b, 255);
  228.       pixel(x+3, y+2, 1, 1, r, g, b, 255);
  229.       x+=6;
  230.     }
  231.     else if (buf[i]=='l' || buf[i]=='L')
  232.     {
  233.       //background
  234.       pixel(x, y, 3, 7, bg_r, bg_g, bg_b, 255);
  235.       pixel(x+3, y+4, 3, 3, bg_r, bg_g, bg_b, 255);
  236.       //balken links
  237.       pixel(x+1, y+1, 1, 4, r, g, b, 255);
  238.       //balken unten
  239.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  240.       x+=6;
  241.     }
  242.     else if (buf[i]=='m' || buf[i]=='M')
  243.     {
  244.       //background
  245.       pixel(x, y, 7, 7, bg_r, bg_g, bg_b, 255);
  246.       //balken oben
  247.       pixel(x+1, y+1, 5, 1, r, g, b, 255);
  248.       //balken links
  249.       pixel(x+1, y+2, 1, 4, r, g, b, 255);
  250.       //balken mitte(senkrecht)
  251.       pixel(x+3, y+2, 1, 4, r, g, b, 255);
  252.       //balken rechts
  253.       pixel(x+5, y+2, 1, 4, r, g, b, 255);
  254.       x+=7;
  255.     }
  256.     else if (buf[i]=='n' || buf[i]=='N')
  257.     {
  258.       //background
  259.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  260.       //balken oben
  261.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  262.       //balken links
  263.       pixel(x+1, y+2, 1, 4, r, g, b, 255);
  264.       //balken rechts
  265.       pixel(x+4, y+2, 1, 4, r, g, b, 255);
  266.       x+=6;
  267.     }
  268.     else if (buf[i]=='o' || buf[i]=='O' || buf[i]=='0')
  269.     {
  270.       //background
  271.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  272.       //balken oben
  273.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  274.       //balken unten
  275.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  276.       //balken links
  277.       pixel(x+1, y+2, 1, 3, r, g, b, 255);
  278.       //balken rechts
  279.       pixel(x+4, y+2, 1, 3, r, g, b, 255);
  280.       x+=6;
  281.     }
  282.     else if (buf[i]=='p' || buf[i]=='P')
  283.     {
  284.       //background
  285.       pixel(x, y, 3, 7, bg_r, bg_g, bg_b, 255);
  286.       pixel(x+3, y, 3, 5, bg_r, bg_g, bg_b, 255);
  287.       //balken oben
  288.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  289.       //balken mitte
  290.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  291.       //balken links
  292.       pixel(x+1, y+2, 1, 4, r, g, b, 255);
  293.       //balken rechts
  294.       pixel(x+4, y+2, 1, 2, r, g, b, 255);
  295.       x+=6;
  296.     }
  297.     else if (buf[i]=='q' || buf[i]=='Q')
  298.     {
  299.       //background
  300.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  301.       pixel(x+6, y+5, 1, 3, bg_r, bg_g, bg_b, 255);
  302.       pixel(x+4, y+7, 3, 1, bg_r, bg_g, bg_b, 255);
  303.       //balken oben
  304.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  305.       //balken unten
  306.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  307.       //balken links
  308.       pixel(x+1, y+2, 1, 3, r, g, b, 255);
  309.       //balken rechts
  310.       pixel(x+4, y+2, 1, 3, r, g, b, 255);
  311.       //punkte
  312.       pixel(x+3, y+4, 1, 1, r, g, b, 255);
  313.       pixel(x+5, y+6, 1, 1, r, g, b, 255);
  314.       x+=7;
  315.     }
  316.     else if (buf[i]=='r' || buf[i]=='R')
  317.     {
  318.       //background
  319.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  320.       //balken oben
  321.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  322.       //balken mitte
  323.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  324.       //balken links
  325.       pixel(x+1, y+2, 1, 4, r, g, b, 255);
  326.       //balken rechts
  327.       pixel(x+4, y+2, 1, 1, r, g, b, 255);
  328.       //punkte
  329.       pixel(x+3, y+4, 2, 1, r, g, b, 255);
  330.       pixel(x+4, y+5, 1, 1, r, g, b, 255);
  331.       x+=6;
  332.     }
  333.     else if (buf[i]=='s' || buf[i]=='S' || buf[i]=='5')
  334.     {
  335.       //background
  336.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  337.       //balken oben
  338.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  339.       //balken mitte
  340.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  341.       //balken unten
  342.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  343.       //balken links
  344.       pixel(x+1, y+2, 1, 2, r, g, b, 255);
  345.       //balken rechts
  346.       pixel(x+4, y+3, 1, 2, r, g, b, 255);
  347.       x+=6;
  348.     }
  349.     else if (buf[i]=='t' || buf[i]=='T')
  350.     {
  351.       //background
  352.       pixel(x, y, 5, 3, bg_r, bg_g, bg_b, 255);
  353.       pixel(x+1, y+3, 3, 4, bg_r, bg_g, bg_b, 255);
  354.       //balken oben
  355.       pixel(x+1, y+1, 3, 1, r, g, b, 255);
  356.       //balken mitte(senkrecht)
  357.       pixel(x+2, y+2, 1, 4, r, g, b, 255);
  358.       x+=5;
  359.     }
  360.     else if (buf[i]=='u' || buf[i]=='U')
  361.     {
  362.       //background
  363.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  364.       //balken unten
  365.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  366.       //balken links
  367.       pixel(x+1, y+1, 1, 4, r, g, b, 255);
  368.       //balken rechts
  369.       pixel(x+4, y+1, 1, 4, r, g, b, 255);
  370.       x+=6;
  371.     }
  372.     else if (buf[i]=='v' || buf[i]=='V')
  373.     {
  374.       //background
  375.       pixel(x, y, 6, 6, bg_r, bg_g, bg_b, 255);
  376.       pixel(x+1, y+6, 4, 1, bg_r, bg_g, bg_b, 255);
  377.       //balken unten
  378.       pixel(x+2, y+5, 2, 1, r, g, b, 255);
  379.       //balken links
  380.       pixel(x+1, y+1, 1, 4, r, g, b, 255);
  381.       //balken rechts
  382.       pixel(x+4, y+1, 1, 4, r, g, b, 255);
  383.       x+=6;
  384.     }
  385.     else if (buf[i]=='w' || buf[i]=='W')
  386.     {
  387.       //background
  388.       pixel(x, y, 7, 7, bg_r, bg_g, bg_b, 255);
  389.       //balken unten
  390.       pixel(x+1, y+5, 5, 1, r, g, b, 255);
  391.       //balken links
  392.       pixel(x+1, y+1, 1, 4, r, g, b, 255);
  393.       //balken mitte(senkrecht)
  394.       pixel(x+3, y+1, 1, 4, r, g, b, 255);
  395.       //balken rechts
  396.       pixel(x+5, y+1, 1, 4, r, g, b, 255);
  397.       x+=7;
  398.     }
  399.     else if (buf[i]=='x' || buf[i]=='X')
  400.     {
  401.       //background
  402.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  403.       //balken mitte
  404.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  405.       //balken links(oben)
  406.       pixel(x+1, y+1, 1, 2, r, g, b, 255);
  407.       //balken rechts(oben)
  408.       pixel(x+4, y+1, 1, 2, r, g, b, 255);
  409.       //balken links(unten)
  410.       pixel(x+1, y+4, 1, 2, r, g, b, 255);
  411.       //balken rechts(unten)
  412.       pixel(x+4, y+4, 1, 2, r, g, b, 255);
  413.       x+=6;
  414.     }
  415.     else if (buf[i]=='y' || buf[i]=='Y')
  416.     {
  417.       //background
  418.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  419.       //balken mitte
  420.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  421.       //balken unten
  422.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  423.       //balken links
  424.       pixel(x+1, y+1, 1, 3, r, g, b, 255);
  425.       //balken rechts
  426.       pixel(x+4, y+1, 1, 4, r, g, b, 255);
  427.       x+=6;
  428.     }
  429.     else if (buf[i]=='z' || buf[i]=='Z' || buf[i]=='2')
  430.     {
  431.       //background
  432.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  433.       //balken oben
  434.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  435.       //balken mitte
  436.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  437.       //balken unten
  438.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  439.       //balken links
  440.       pixel(x+1, y+3, 1, 2, r, g, b, 255);
  441.       //balken rechts
  442.       pixel(x+4, y+2, 1, 2, r, g, b, 255);
  443.       x+=6;
  444.     }
  445.     else if (buf[i]=='3')
  446.     {
  447.       //background
  448.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  449.       //balken oben
  450.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  451.       //balken mitte
  452.       pixel(x+1, y+3, 3, 1, r, g, b, 255);
  453.       //balken unten
  454.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  455.       //balken rechts
  456.       pixel(x+4, y+2, 1, 3, r, g, b, 255);
  457.       x+=6;
  458.     }
  459.     else if (buf[i]=='4')
  460.     {
  461.       //background
  462.       pixel(x, y, 6, 5, bg_r, bg_g, bg_b, 255);
  463.       pixel(x+3, y+5, 3, 2, bg_r, bg_g, bg_b, 255);
  464.       //balken mitte
  465.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  466.       //balken links
  467.       pixel(x+1, y+1, 1, 3, r, g, b, 255);
  468.       //balken rechts
  469.       pixel(x+4, y+1, 1, 5, r, g, b, 255);
  470.       x+=6;
  471.     }
  472.     else if (buf[i]=='6')
  473.     {
  474.       //background
  475.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  476.       //balken oben
  477.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  478.       //balken mitte
  479.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  480.       //balken unten
  481.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  482.       //balken links
  483.       pixel(x+1, y+2, 1, 3, r, g, b, 255);
  484.       //balken rechts
  485.       pixel(x+4, y+3, 1, 2, r, g, b, 255);
  486.       x+=6;
  487.     }
  488.     else if (buf[i]=='7')
  489.     {
  490.       //background
  491.       pixel(x, y, 6, 3, bg_r, bg_g, bg_b, 255);
  492.       pixel(x+1, y+3, 5, 2, bg_r, bg_g, bg_b, 255);
  493.       pixel(x+3, y+5, 3, 2, bg_r, bg_g, bg_b, 255);
  494.       //balken oben
  495.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  496.       //balken mitte
  497.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  498.       //balken rechts
  499.       pixel(x+4, y+2, 1, 4, r, g, b, 255);
  500.       x+=6;
  501.     }
  502.     else if (buf[i]=='9')
  503.     {
  504.       //background
  505.       pixel(x, y, 6, 7, bg_r, bg_g, bg_b, 255);
  506.       //balken oben
  507.       pixel(x+1, y+1, 4, 1, r, g, b, 255);
  508.       //balken mitte
  509.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  510.       //balken unten
  511.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  512.       //balken links
  513.       pixel(x+1, y+2, 1, 2, r, g, b, 255);
  514.       //balken rechts
  515.       pixel(x+4, y+2, 1, 3, r, g, b, 255);
  516.       x+=6;
  517.     }
  518.     else if (buf[i]=='.')
  519.     {
  520.       //background
  521.       pixel(x+1, y+4, 3, 3, bg_r, bg_g, bg_b, 255);
  522.       //punkt
  523.       pixel(x+2, y+5, 1, 1, r, g, b, 255);
  524.       x+=5;
  525.     }
  526.     else if (buf[i]==',')
  527.     {
  528.       //background
  529.       pixel(x+1, y+4, 3, 4, bg_r, bg_g, bg_b, 255);
  530.       //punkt
  531.       pixel(x+2, y+5, 1, 2, r, g, b, 255);
  532.       x+=5;
  533.     }
  534.     else if (buf[i]==':')
  535.     {
  536.       //background
  537.       pixel(x+1, y+1, 3, 6, bg_r, bg_g, bg_b, 255);
  538.       //punkte
  539.       pixel(x+2, y+2, 1, 1, r, g, b, 255);
  540.       pixel(x+2, y+5, 1, 1, r, g, b, 255);
  541.       x+=5;
  542.     }
  543.     else if (buf[i]=='!')
  544.     {
  545.       //background
  546.       pixel(x+1, y, 3, 7, bg_r, bg_g, bg_b, 255);
  547.       //punkte
  548.       pixel(x+2, y+1, 1, 3, r, g, b, 255);
  549.       pixel(x+2, y+5, 1, 1, r, g, b, 255);
  550.       x+=5;
  551.     }
  552.     else if (buf[i]=='/')
  553.     {
  554.       //background
  555.       pixel(x, y, 3, 2, bg_r, bg_g, bg_b, 255);
  556.       pixel(x, y+2, 4, 2, bg_r, bg_g, bg_b, 255);
  557.       pixel(x+1, y+4, 4, 2, bg_r, bg_g, bg_b, 255);
  558.       pixel(x+2, y+6, 3, 2, bg_r, bg_g, bg_b, 255);
  559.       //punkte
  560.       pixel(x+1, y+1, 1, 2, r, g, b, 255);
  561.       pixel(x+2, y+3, 1, 2, r, g, b, 255);
  562.       pixel(x+3, y+5, 1, 2, r, g, b, 255);
  563.       x+=5;
  564.     }
  565.     else if (buf[i]=='(')
  566.     {
  567.       //background
  568.       pixel(x+1, y, 4, 1, bg_r, bg_g, bg_b, 255);
  569.       pixel(x, y+1, 5, 2, bg_r, bg_g, bg_b, 255);
  570.       pixel(x, y+3, 3, 2, bg_r, bg_g, bg_b, 255);
  571.       pixel(x, y+5, 5, 2, bg_r, bg_g, bg_b, 255);
  572.       pixel(x+1, y+7, 4, 1, bg_r, bg_g, bg_b, 255);
  573.       //punkte
  574.       pixel(x+2, y+1, 2, 1, r, g, b, 255);
  575.       pixel(x+1, y+2, 1, 4, r, g, b, 255);
  576.       pixel(x+2, y+6, 2, 1, r, g, b, 255);
  577.       x+=5;
  578.     }
  579.     else if (buf[i]==')')
  580.     {
  581.       //background
  582.       pixel(x, y, 4, 1, bg_r, bg_g, bg_b, 255);
  583.       pixel(x, y+1, 5, 2, bg_r, bg_g, bg_b, 255);
  584.       pixel(x+2, y+3, 3, 2, bg_r, bg_g, bg_b, 255);
  585.       pixel(x, y+5, 5, 2, bg_r, bg_g, bg_b, 255);
  586.       pixel(x, y+7, 4, 1, bg_r, bg_g, bg_b, 255);
  587.       //punkte
  588.       pixel(x+1, y+1, 2, 1, r, g, b, 255);
  589.       pixel(x+3, y+2, 1, 4, r, g, b, 255);
  590.       pixel(x+1, y+6, 2, 1, r, g, b, 255);
  591.       x+=5;
  592.     }
  593.     else if (buf[i]=='[')
  594.     {
  595.       //background
  596.       pixel(x, y, 5, 3, bg_r, bg_g, bg_b, 255);
  597.       pixel(x, y+3, 3, 2, bg_r, bg_g, bg_b, 255);
  598.       pixel(x, y+5, 5, 3, bg_r, bg_g, bg_b, 255);
  599.       //punkte
  600.       pixel(x+1, y+1, 3, 1, r, g, b, 255);
  601.       pixel(x+1, y+2, 1, 4, r, g, b, 255);
  602.       pixel(x+1, y+6, 3, 1, r, g, b, 255);
  603.       x+=5;
  604.     }
  605.     else if (buf[i]==']')
  606.     {
  607.       //background
  608.       pixel(x, y, 5, 3, bg_r, bg_g, bg_b, 255);
  609.       pixel(x+2, y+3, 3, 2, bg_r, bg_g, bg_b, 255);
  610.       pixel(x, y+5, 5, 3, bg_r, bg_g, bg_b, 255);
  611.       //punkte
  612.       pixel(x+1, y+1, 3, 1, r, g, b, 255);
  613.       pixel(x+3, y+2, 1, 4, r, g, b, 255);
  614.       pixel(x+1, y+6, 3, 1, r, g, b, 255);
  615.       x+=5;
  616.     }
  617.     else if (buf[i]=='-')
  618.     {
  619.       //background
  620.       pixel(x+1, y+2, 4, 3, bg_r, bg_g, bg_b, 255);
  621.       //punkte
  622.       pixel(x+2, y+3, 2, 1, r, g, b, 255);
  623.       x+=6;
  624.     }
  625.     else if (buf[i]=='_')
  626.     {
  627.       //background
  628.       pixel(x, y+4, 6, 3, bg_r, bg_g, bg_b, 255);
  629.       //punkte
  630.       pixel(x+1, y+5, 4, 1, r, g, b, 255);
  631.       x+=6;
  632.     }
  633.     else if (buf[i]=='+')
  634.     {
  635.       //background
  636.       pixel(x+2, y, 3, 2, bg_r, bg_g, bg_b, 255);
  637.       pixel(x, y+2, 7, 3, bg_r, bg_g, bg_b, 255);
  638.       pixel(x+2, y+5, 3, 2, bg_r, bg_g, bg_b, 255);
  639.       //punkte
  640.       pixel(x+3, y+1, 1, 2, r, g, b, 255);
  641.       pixel(x+1, y+3, 5, 1, r, g, b, 255);
  642.       pixel(x+3, y+4, 1, 2, r, g, b, 255);
  643.       x+=7;
  644.     }
  645.   }
  646. }
  647. //==============================================================================
  648.  
  649.  
  650. //==============================================================================
  651. int cTableFont::iGetLength(const char *pInput, ...)
  652. {
  653.   return strlen(pInput);
  654. }
  655. //==============================================================================
  656.  
  657.  
  658. //==============================================================================
  659. int cTableFont::iGetWidth(const char *pInput, ...)
  660. {
  661.   char buf[256];
  662.   va_list arguments;
  663.  
  664.   va_start(arguments, pInput);
  665.   vsprintf(buf, pInput, arguments);
  666.   va_end(arguments);
  667.  
  668.   int len=0;
  669.  
  670.   for (int i=0;i<sizeof(buf);i++)
  671.   {
  672.     if (buf[i]=='\0')
  673.     {
  674.       return len;
  675.     }
  676.     else if (buf[i]=='a' || buf[i]=='A' || buf[i]=='b' || buf[i]=='B' || buf[i]=='8' || buf[i]=='c' || buf[i]=='C' || buf[i]=='d' || buf[i]=='D' || buf[i]=='e' || buf[i]=='E' || buf[i]=='f' || buf[i]=='F' || buf[i]=='g' || buf[i]=='G' || buf[i]=='h' || buf[i]=='H' || buf[i]=='j' || buf[i]=='J' || buf[i]=='k' || buf[i]=='K' || buf[i]=='l' || buf[i]=='L' || buf[i]=='n' || buf[i]=='N' || buf[i]=='o' || buf[i]=='O' || buf[i]=='0' || buf[i]=='p' || buf[i]=='P' || buf[i]=='r' || buf[i]=='R' || buf[i]=='s' || buf[i]=='S' || buf[i]=='5' || buf[i]=='u' || buf[i]=='U' || buf[i]=='v' || buf[i]=='V' || buf[i]=='x' || buf[i]=='X' || buf[i]=='y' || buf[i]=='Y' || buf[i]=='z' || buf[i]=='Z' || buf[i]=='2' || buf[i]=='3' || buf[i]=='4' || buf[i]=='6' || buf[i]=='7' || buf[i]=='9' || buf[i]=='-' || buf[i]=='_')
  677.     {
  678.       len+=6;
  679.     }
  680.     else if (buf[i]=='m' || buf[i]=='M' || buf[i]=='q' || buf[i]=='Q' || buf[i]=='w' || buf[i]=='W' || buf[i]=='+')
  681.     {
  682.       len+=7;
  683.     }
  684.     else if (buf[i]=='i' || buf[i]=='I' || buf[i]=='1' || buf[i]=='t' || buf[i]=='T' || buf[i]=='.' || buf[i]==',' || buf[i]==':' || buf[i]=='!' || buf[i]=='/' || buf[i]=='(' || buf[i]==')' || buf[i]=='[' || buf[i]==']')
  685.     {
  686.       len+=5;
  687.     }
  688.     else if (buf[i]==' ')
  689.     {
  690.       len+=4;
  691.     }
  692.   }
  693.   return len;
  694. }
  695. //==============================================================================
Add Comment
Please, Sign In to add comment