Keresés

Új hozzászólás Aktív témák

  • kovisoft

    őstag

    válasz #90088192 #6104 üzenetére

    Persze, teheted a font paramétereket egy struktúrába, és akkor elég átadni erre a struktúrára mutató pointert a font választáshoz (vagy csúnyább esetben mehet az egész egy globális változóba). Pl:

    #include "font1.h"
    #include "font2.h"

    struct font_type
    {
    long int *font;
    int font_width;
    int font_height;
    int font_offset;
    };

    struct font_type myfont[2];

    myfont[0].font = Font1;
    myfont[0].font_width = Font1_width;
    myfont[0].font_height = Font1_height;
    myfont[0].font_offset = Font1_offset;

    myfont[1].font        = Font2;
    myfont[1].font_width  = Font2_width;
    myfont[1].font_height = Font2_height;
    myfont[1].font_offset = Font2_offset;


    int write_char(int page_select, int y_offset, int character_code,struct font_type *use_font)
    {
    ...
    send_data_screen(use_font->font);
    ...
    }

    write_char(line,y_offset+j*myfont[0]->font_width,test[j],&myfont[0]);

    write_char(line,y_offset+j*myfont[1]->font_width,test[j],&myfont[1]);

    De lehet, hogy jobb lenne az y_offset paramétert szétszedni egy y és egy j paraméterre, és a font_width-tel való szorzást beletenni a függvénybe, hogy ne kelljen azt is font-tól függően átadni:

    int write_char(int page_select, int y, int j, int character_code,struct font_type *use_font)
    {
    int y_offset = y+j*use_font->font_width;
        ...
        send_data_screen(use_font->font);
        ...
    }

Új hozzászólás Aktív témák