void _gdk_win32_print_hpalette (HPALETTE hpal) { PALETTEENTRY *pe; gint n, npal; npal = palette_size (hpal); pe = g_new (PALETTEENTRY, npal); n = GetPaletteEntries (hpal, 0, npal, pe); if (!n) g_print ("HPALETTE %p: GetPaletteEntries failed: %s\n", hpal, g_win32_error_message (GetLastError ())); else { g_print ("HPALETTE %p: %d (%d) entries\n", hpal, n, npal); _gdk_win32_print_paletteentries (pe, n); } g_free (pe); }
HRESULT ddraw_palette_init(struct ddraw_palette *palette, struct ddraw *ddraw, DWORD flags, PALETTEENTRY *entries) { unsigned int entry_count; DWORD wined3d_flags = 0; HRESULT hr; if ((entry_count = palette_size(flags)) == ~0u) { WARN("Invalid flags %#x.\n", flags); return DDERR_INVALIDPARAMS; } if (flags & DDPCAPS_8BITENTRIES) wined3d_flags |= WINED3D_PALETTE_8BIT_ENTRIES; if (flags & DDPCAPS_ALLOW256) wined3d_flags |= WINED3D_PALETTE_ALLOW_256; if (flags & DDPCAPS_ALPHA) wined3d_flags |= WINED3D_PALETTE_ALPHA; palette->IDirectDrawPalette_iface.lpVtbl = &ddraw_palette_vtbl; palette->ref = 1; palette->flags = flags; if (FAILED(hr = wined3d_palette_create(ddraw->wined3d_device, wined3d_flags, entry_count, entries, &palette->wined3d_palette))) { WARN("Failed to create wined3d palette, hr %#x.\n", hr); return hr; } palette->ddraw = ddraw; palette->ifaceToRelease = (IUnknown *)&ddraw->IDirectDraw7_iface; IUnknown_AddRef(palette->ifaceToRelease); return DD_OK; }