Exemple #1
0
static void the_title(int x, int y)
{
    char *t1 = "MGRX 1.0";
    char *t2 = "test programs launcher";

    grt_centered.txo_fgcolor.v = LIGHTGREEN;

    grt_centered.txo_font = grf_big;
    GrDrawString(t1, strlen(t1), 0 + x, 0 + y, &grt_centered);

    grt_centered.txo_font = grf_std;
    GrDrawString(t2, strlen(t2), 0 + x, 40 + y, &grt_centered);
}
Exemple #2
0
static void paint_animation(void)
{
    static int pos = 620;
    static int ini = 0;
    static GrContext *grc;
    int ltext, wtext;

    if (!ini) {
	grc = GrCreateContext(620, 30, NULL, NULL);
	if (grc == NULL)
	    return;
	ini = 1;
    }

    grt_left.txo_fgcolor.v = CYAN;
    grt_left.txo_font = grf_std;
    ltext = strlen(animatedtext);
    wtext = GrStringWidth(animatedtext, ltext, &grt_left);

    GrSetContext(grc);
    GrClearContext(DARKGRAY);
    GrDrawString(animatedtext, ltext, pos, 15, &grt_left);
    GrSetContext(grcglob);
    GrBitBlt(NULL, 10, 8, grc, 0, 0, 629, 29, GrWRITE);

    pos -= 1;
    if (pos <= -wtext)
	pos = 620;
}
Exemple #3
0
void ws_bmdrawtext(struct ws_bitmap *bm, int x, int y, int w, const char *txt,
                   GrColor fg,
                   GrColor bg)
{
    char buffer[256];
    int clen = ws_charstrlen(w);


    my_assert(txt != NULL);

    if (clen > 255) {
        clen = 255;
    }

    strncpy(buffer, txt, clen);
    buffer[clen] = 0;

    if (strlen(buffer) == 0) {
        return;
    }

    ws_private.textopt.txo_bgcolor.v = bg == -1 ? GrOR : bg;
    ws_private.textopt.txo_fgcolor.v = fg;
    GrSetContext( (GrContext *)bm->bitmap );
    GrDrawString(buffer, strlen(buffer), x, y, &ws_private.textopt);
    GrSetContext(NULL);
}
Exemple #4
0
void displayfont(GrFont *font,char *text,int len)
{
	GrTextOption opt;
	int ww,hh;
	int bx,by;
	int bw,bh;
	GrEvent ev;

	memset(&opt,0,sizeof(opt));
	opt.txo_font   = font;
	opt.txo_xalign = GR_ALIGN_LEFT;
	opt.txo_yalign = GR_ALIGN_TOP;
	GrFilledBox(0,0,GrSizeX(),GrSizeY(),GrBlack());
	opt.txo_direct    = GR_TEXT_RIGHT;
	opt.txo_fgcolor.v = GrBlack();
	opt.txo_bgcolor.v = c1;
	ww = GrStringWidth(text,len,&opt);
	hh = GrStringHeight(text,len,&opt);
	bw = ww+2*hh;
	bh = ww;
	bx = cx - bw/2;
	by = cy - bh/2;
	GrDrawString(text,len,bx+hh,by,&opt);
	opt.txo_direct    = GR_TEXT_DOWN;
	opt.txo_bgcolor.v = c2;
	GrDrawString(text,len,bx+bw-hh,by,&opt);
	opt.txo_direct    = GR_TEXT_LEFT;
	opt.txo_bgcolor.v = c3;
	GrDrawString(text,len,bx+bw-ww-hh,by+bh-hh,&opt);
	opt.txo_direct    = GR_TEXT_UP;
	opt.txo_bgcolor.v = c4;
	GrDrawString(text,len,bx,by+bh-ww,&opt);
	GrEventWaitKeyOrClick(&ev);
	GrClearClipBox(GrBlack());
	opt.txo_direct    = GR_TEXT_RIGHT;
	opt.txo_fgcolor.v = c1;
	opt.txo_bgcolor.v = GrBlack();
	bx = GrSizeX() / 16;
	by = GrSizeY() / 16;
	bx = (bx + 7) & ~7;
	while(by < GrSizeY()) {
	    GrDrawString(test_text,strlen(test_text),bx,by,&opt);
	    opt.txo_fgcolor.v ^= GR_UNDERLINE_TEXT;
	    by += hh;
	}
	GrEventWaitKeyOrClick(&ev);
}
Exemple #5
0
static void paint_foot(char *s)
{
    grt_centered.txo_fgcolor.v = LIGHTGREEN;
    grt_centered.txo_font = grf_std;

    GrSetClipBox(10, 440, 630, 470);
    GrClearClipBox(CYAN);
    GrDrawString(s, strlen(s), 320, 455, &grt_centered);
    GrResetClipBox();
}
Exemple #6
0
static void the_info(int x, int y)
{
    char aux[81];
    char sys[4] = "?";
    int nsys;
    char *kbsysencoding;
    int nenc;

    grt_centered.txo_fgcolor.v = CYAN;
    grt_centered.txo_font = grf_std;

    nsys = GrGetLibrarySystem();
    if (nsys == MGRX_VERSION_GCC_386_DJGPP)
	strcpy(sys, "DJ2");
    else if (nsys == MGRX_VERSION_GCC_386_LINUX)
	strcpy(sys, "LNX");
    else if (nsys == MGRX_VERSION_GCC_386_X11)
	strcpy(sys, "X11");
    else if (nsys == MGRX_VERSION_GCC_X86_64_LINUX)
	strcpy(sys, "L64");
    else if (nsys == MGRX_VERSION_GCC_X86_64_X11)
	strcpy(sys, "X64");
    else if (nsys == MGRX_VERSION_GCC_386_WIN32)
	strcpy(sys, "W32");

    nenc = GrGetKbSysEncoding();
    kbsysencoding = GrStrEncoding(nenc);

    sprintf(aux, "Version:%x System:%s", GrGetLibraryVersion(), sys);
    GrDrawString(aux, strlen(aux), 0 + x, 0 + y, &grt_centered);

    sprintf(aux, "KbSysEncoding:%s", kbsysencoding);
    GrDrawString(aux, strlen(aux), 0 + x, 20 + y, &grt_centered);

    sprintf(aux, "VideoDriver: %s", GrCurrentVideoDriver()->name);
    GrDrawString(aux, strlen(aux), 0 + x, 40 + y, &grt_centered);

    sprintf(aux, "Mode: %dx%d %d bpp", GrCurrentVideoMode()->width,
            GrCurrentVideoMode()->height, GrCurrentVideoMode()->bpp);
    GrDrawString(aux, strlen(aux), 0 + x, 60 + y, &grt_centered);
}
Exemple #7
0
/* Draw text txt to x,y (left, upper edge). maximum pixel width is w.
   fg,bg=fore/background color. if bg=-1 background is transparent. */
void ws_drawtext(int x, int y, int w, const char *txt, int fg, int bg) {
    char buffer[256];
    int clen = ws_charstrlen(w);


    my_assert(txt != NULL);

    if (clen > 255) {
        clen = 255;
    }

    strncpy(buffer, txt, clen);
    buffer[clen] = 0;

    if (strlen(buffer) == 0) {
        return;
    }

    ws_private.textopt.txo_bgcolor.v = bg == -1 ? GrOR : bg;
    ws_private.textopt.txo_fgcolor.v = fg;
    GrDrawString(buffer, strlen(buffer), x, y, &ws_private.textopt);
}