Exemplo n.º 1
0
int main(int argc, const char *argv[])
{
    FBDEV fbdev;

    strcpy(fbdev.dev, "/dev/fb0");

    if (fb_init(&fbdev) == -1)
    {
        return -1;
    }

    ////test
    //int i, j;
    //for (i = 0; i < 30; i++) 
    //{
        //for (j = 0; j < 100; j++) 
        //{
            //draw_pixel(&fbdev, 200+i, 200+j, 0x00ff0000);
        //}
    //}
    
    ////end test

    //draw_pixel(&fbdev, 500, 500, 0x0000ff00);
    mouse_main(&fbdev);
    
    fb_destroy(&fbdev);
    //fun_test();
    return 0;
}
Exemplo n.º 2
0
int main(int argc, char *argv[])
{
	fb_info_t fb; 
	pthread_t tid[3]; int i;

	if(fb_init(NULL, &fb) == NULL)
		err_sys("fail to fb_init");
	sem_init(&sem, 0, 1);
	pthread_rwlock_init(&rwlock, NULL);

	pthread_create(&tid[0], NULL, do_renew, NULL);
	pthread_create(&tid[1], NULL, do_dispjpg, (void *)&fb);
	pthread_create(&tid[2], NULL, do_mouse, (void *)&fb);

	pthread_join(tid[0], NULL);
	pthread_join(tid[1], NULL);
	pthread_join(tid[2], NULL);

	fb_destroy(&fb);
	pic_destroy(&pic_head);
	sem_destroy(&sem);
	pthread_rwlock_destroy(&rwlock);

	return 0;
}
Exemplo n.º 3
0
void
emulator_destroy(emulator_t* emu)
{
  fb_destroy(&emu->fb);
  pr_destroy(&emu->pr);
  mbox_destroy(&emu->mbox);
  gpio_destroy(&emu->gpio);
  cpu_destroy(&emu->cpu);
  vfp_destroy(&emu->vfp);
  memory_destroy(&emu->memory);
}
Exemplo n.º 4
0
/* Destroy gui */
void gui_destroy(struct gui_t *gui)
{
	if (NULL == gui) return;

#ifdef USE_ICONS
	enum icon_id_t i;

	for (i=ICON_LOGO; i<ICON_ARRAY_SIZE; i++) {
		fb_destroy_picture(gui->icons[i]);
	}
	free(gui->icons);
#endif

	fb_destroy(gui->fb);
	free(gui);
}
Exemplo n.º 5
0
int main(void)
{
	fb_info_t fb; int i;
	pthread_t tid[PROC_NUM];

	if(fb_init(NULL, &fb) == NULL)
		err_sys("fail to init");
	sem_init(&sem, 0, 0);

	for(i = 0; i < PROC_NUM; i++)
		pthread_create(&tid[i], NULL, handler[i], &fb);
	for(i = 0; i < PROC_NUM; i++)
		pthread_join(tid[i], NULL);

	sem_destroy(&sem);
	fb_destroy(&fb);	

	return 0;
}
Exemplo n.º 6
0
static THOOKENTRY TTAG
fb_dispatch(struct THook *hook, TAPTR obj, TTAG msg)
{
	WINDISPLAY *mod = (WINDISPLAY *) hook->thk_Data;
	switch (msg)
	{
		case TMSG_DESTROY:
			fb_destroy(mod);
			break;
		case TMSG_OPENMODULE:
			return (TTAG) fb_modopen(mod, obj);
		case TMSG_CLOSEMODULE:
			fb_modclose(obj);
			break;
		case TMSG_INITTASK:
			return fb_initinstance(obj);
		case TMSG_RUNTASK:
			fb_runinstance(obj);
			break;
	}
	return 0;
}
Exemplo n.º 7
0
TMODENTRY TUINT
tek_init_display_windows(TAPTR task, struct TModule *vis, TUINT16 version,
	TTAGITEM *tags)
{
	WINDISPLAY *mod = (WINDISPLAY *) vis;

	if (mod == TNULL)
	{
		if (version == 0xffff)
			return sizeof(TAPTR) * FB_DISPLAY_NUMVECTORS;

		if (version <= FB_DISPLAY_VERSION)
			return sizeof(WINDISPLAY);

		return 0;
	}

	TDBPRINTF(TDB_TRACE,("Module init...\n"));

	for (;;)
	{
		struct TExecBase *TExecBase = TGetExecBase(mod);
		mod->fbd_ExecBase = TExecBase;
		mod->fbd_Lock = TCreateLock(TNULL);
		if (mod->fbd_Lock == TNULL) break;

		mod->fbd_Module.tmd_Version = FB_DISPLAY_VERSION;
		mod->fbd_Module.tmd_Revision = FB_DISPLAY_REVISION;
		mod->fbd_Module.tmd_Handle.thn_Hook.thk_Entry = fb_dispatch;
		mod->fbd_Module.tmd_Flags = TMODF_VECTORTABLE | TMODF_OPENCLOSE;
		TInitVectors(&mod->fbd_Module, fb_vectors, FB_DISPLAY_NUMVECTORS);
		return TTRUE;
	}
	fb_destroy(mod);

	return TFALSE;
}