1 #include "evas_engine.h"
7 evas_direct3d_masks_get(Outbuf *buf)
11 if (FAILED(buf->priv.d3d.texture->GetLevelDesc(0, &sd)))
18 buf->priv.mask.r = 0x00ff0000;
19 buf->priv.mask.g = 0x0000ff00;
20 buf->priv.mask.b = 0x000000ff;
23 buf->priv.mask.r = 0xf800;
24 buf->priv.mask.g = 0x07e0;
25 buf->priv.mask.b = 0x001f;
35 evas_direct3d_lock(Outbuf *buf, int *d3d_width, int *d3d_height, int *d3d_pitch)
38 D3DLOCKED_RECT d3d_rect;
40 /* is that call needed / overkill ? */
41 if (FAILED(buf->priv.d3d.texture->GetLevelDesc(0, &sd)))
44 if (FAILED(buf->priv.d3d.device->BeginScene()))
46 if (FAILED(buf->priv.d3d.sprite->Begin(D3DXSPRITE_DO_NOT_ADDREF_TEXTURE)))
48 buf->priv.d3d.device->EndScene();
51 if (FAILED(buf->priv.d3d.texture->LockRect(0, &d3d_rect, NULL, D3DLOCK_DISCARD)))
53 buf->priv.d3d.sprite->End();
54 buf->priv.d3d.device->EndScene();
58 *d3d_width = sd.Width;
59 *d3d_height = sd.Height;
60 *d3d_pitch = d3d_rect.Pitch;
62 return d3d_rect.pBits;
66 evas_direct3d_unlock(Outbuf *buf)
68 if (FAILED(buf->priv.d3d.texture->UnlockRect(0)))
71 if (FAILED(buf->priv.d3d.sprite->Draw(buf->priv.d3d.texture,
73 D3DCOLOR_ARGB (255, 255, 255, 255))))
75 if (FAILED(buf->priv.d3d.sprite->End()))
78 if (FAILED(buf->priv.d3d.device->EndScene()))
80 if (FAILED(buf->priv.d3d.device->Present(NULL, NULL, NULL, NULL)))