void draw() { float old_r, old_g, old_b, old_a; surface.get_color(old_r, old_g, old_b, old_a); surface.set_color(0, 0, 0, 0.4); surface.set_scale(1, 0.5); surface.draw(x, y + surface.get_height() / 2); surface.set_scale(1, 1); surface.set_color(old_r, old_g, old_b, old_a); }
void draw(const GraphicContextState& state, CL_GraphicContext* gc) { // FIXME: We need to stop onion layer to draw onto itself surface.set_blend_func(blend_one, blend_one_minus_src_alpha); surface.set_scale(SCALE, SCALE); surface.draw(0, 0); }