コード例 #1
0
int phantom_debug_window_puts(const char *s)
{
    if(phantom_debug_window == 0)        return 0;

    w_font_tty_string( phantom_debug_window, &DEB_FONT,
    	s, console_fg, console_bg, &ttxd, &ttyd );

    //drv_video_winblt( phantom_debug_window );
    return 0;
}
コード例 #2
0
static int phantom_console_window_puts(const char *s)
{
    if(phantom_console_window == 0)
        return 0;

    w_font_tty_string( phantom_console_window, &CON_FONT,
    	s, console_fg, console_bg, &ttx, &tty );

    w_update( phantom_console_window );
    return 0;
}
コード例 #3
0
ファイル: syscall_tty.c プロジェクト: animotron/animos
static int putws_17(struct pvm_object me , struct data_area_4_thread *tc )
{
    DEBUG_INFO;

    struct data_area_4_tty      *da = pvm_data_area( me, tty );

    //printf("putws font %d,%d\n", da->font_width, da->font_height );


    int n_param = POP_ISTACK;
    CHECK_PARAM_COUNT(n_param, 1);

    struct pvm_object _text = POP_ARG;
    ASSERT_STRING(_text);

    int len = pvm_get_str_len( _text );
    const char * data = (const char *)pvm_get_str_data(_text);

    char buf[BS+2];

    if( len > BS ) len = BS;
    strncpy( buf, data, len );
    //buf[len] = '\n';
    buf[len] = 0;

    SYS_FREE_O(_text);

    //printf("tty print: '%s' at %d,%d\n", buf, da->x, da->y );

    struct rgba_t fg = da->fg;
    struct rgba_t bg = da->bg;

    w_font_tty_string( &(da->w), tty_font, buf, fg, bg, &(da->x), &(da->y) );
    drv_video_window_update( &(da->w) );

    SYSCALL_RETURN_NOTHING;
}