Exemplo n.º 1
0
void output_add(uint8_t sfr, uint8_t bit, uint8_t isNegative) {
	setSFR(_output_index, sfr);
	setBit(_output_index, bit);
	setState(_output_index, isNegative);
	_output_index++;
	_output_setup(isNegative);
}
static int
eng_setup(Evas *eo_e, void *info)
{
   Evas_Public_Data *e = eo_data_get(eo_e, EVAS_CLASS);
   Render_Engine *re;
   Evas_Engine_Info_Direct3D *in;
   re = (Render_Engine *)e->engine.data.output;   
   in = (Evas_Engine_Info_Direct3D *)info;
   if (!e->engine.data.output)
     {
        e->engine.data.output = _output_setup(e->output.w,
                                              e->output.h,
                                              in->info.rotation,
                                              in->info.window,
                                              in->info.depth,
                                              in->info.fullscreen);
     }
   else if (in->info.fullscreen != 0)
   {
      if (re)
         evas_direct3d_set_layered(re->d3d, 0, 0, 0, NULL);
      evas_direct3d_set_fullscreen(re->d3d, -1, -1, 1);
   }
   else if (in->info.fullscreen == 0)
   {
      evas_direct3d_set_fullscreen(re->d3d, re->width, re->height, 0);
      if (re && in->info.layered == 0)
         evas_direct3d_set_layered(re->d3d, 0, 0, 0, NULL);
      else if (re && in->info.layered != 0 && in->shape)
         evas_direct3d_set_layered(re->d3d, 1, in->shape->width, in->shape->height, in->shape->mask);
   }

   if (!e->engine.data.output)
     return 0;
   if (!e->engine.data.context)
     e->engine.data.context = e->engine.func->context_new(e->engine.data.output);

   return 1;
}
Exemplo n.º 3
0
static int
eng_setup(Evas *e, void *in)
{
    Render_Engine                   *re;
    Evas_Engine_Info_Software_DDraw *info;

    info = (Evas_Engine_Info_Software_DDraw *)in;
    if (!e->engine.data.output)
        e->engine.data.output = _output_setup(e->output.w,
                                              e->output.h,
                                              info->info.rotation,
                                              info->info.window,
                                              info->info.depth,
                                              info->info.fullscreen);
    else
    {
        int ponebuf = 0;

        re = e->engine.data.output;
        ponebuf = re->ob->onebuf;
        evas_software_ddraw_outbuf_free(re->ob);
        re->ob = evas_software_ddraw_outbuf_setup(e->output.w,
                 e->output.h,
                 info->info.rotation,
                 OUTBUF_DEPTH_INHERIT,
                 info->info.window,
                 info->info.depth,
                 info->info.fullscreen);
        re->ob->onebuf = ponebuf;
    }
    if (!e->engine.data.output) return 0;
    if (!e->engine.data.context)
        e->engine.data.context = e->engine.func->context_new(e->engine.data.output);

    re = e->engine.data.output;

    return 1;
}