Lines Matching refs:palette

32 static VncPaletteEntry *palette_find(const VncPalette *palette,  in palette_find()  argument
37 QLIST_FOREACH(entry, &palette->table[hash], next) { in palette_find()
57 VncPalette *palette; in palette_new() local
59 palette = g_malloc0(sizeof(*palette)); in palette_new()
60 palette_init(palette, max, bpp); in palette_new()
61 return palette; in palette_new()
64 void palette_init(VncPalette *palette, size_t max, int bpp) in palette_init() argument
66 memset(palette, 0, sizeof (*palette)); in palette_init()
67 palette->max = max; in palette_init()
68 palette->bpp = bpp; in palette_init()
71 void palette_destroy(VncPalette *palette) in palette_destroy() argument
73 g_free(palette); in palette_destroy()
76 int palette_put(VncPalette *palette, uint32_t color) in palette_put() argument
79 unsigned int idx = palette->size; in palette_put()
82 hash = palette_hash(color, palette->bpp) % VNC_PALETTE_HASH_SIZE; in palette_put()
83 entry = palette_find(palette, color, hash); in palette_put()
85 if (!entry && palette->size >= palette->max) { in palette_put()
91 entry = &palette->pool[palette->size]; in palette_put()
94 QLIST_INSERT_HEAD(&palette->table[hash], entry, next); in palette_put()
95 palette->size++; in palette_put()
97 return palette->size; in palette_put()
100 int palette_idx(const VncPalette *palette, uint32_t color) in palette_idx() argument
105 hash = palette_hash(color, palette->bpp) % VNC_PALETTE_HASH_SIZE; in palette_idx()
106 entry = palette_find(palette, color, hash); in palette_idx()
110 size_t palette_size(const VncPalette *palette) in palette_size() argument
112 return palette->size; in palette_size()
115 void palette_iter(const VncPalette *palette, in palette_iter() argument
123 QLIST_FOREACH(entry, &palette->table[i], next) { in palette_iter()
129 uint32_t palette_color(const VncPalette *palette, int idx, bool *found) in palette_color() argument
135 QLIST_FOREACH(entry, &palette->table[i], next) { in palette_color()
154 size_t palette_fill(const VncPalette *palette, in palette_fill() argument
157 palette_iter(palette, palette_fill_cb, colors); in palette_fill()
158 return palette_size(palette); in palette_fill()