int BEE::draw_rectangle(int x, int y, int w, int h, bool is_filled, RGBA color, bool is_hud) { RGBA c = draw_get_color(); draw_set_color(color); int r = draw_rectangle(x, y, w, h, is_filled, is_hud); draw_set_color(c); return r; }
int BEE::draw_line(int x1, int y1, int x2, int y2, RGBA color, bool is_hud) { RGBA c = draw_get_color(); draw_set_color(color); int r = draw_line(x1, y1, x2, y2, is_hud); draw_set_color(c); return r; }
void muil_pane_render(MuilPane *pane) { if(pane->needs_redraw) { draw_set_color(muil_color.window_background); draw_rect_set_draw(pane->background, 1); draw_set_color(muil_color.window_border); draw_line_set_draw(pane->border, 4); pane->needs_redraw = false; } if(pane->root_widget != NULL) pane->root_widget->render(pane->root_widget); }
void muil_checkbox_render(MuilWidget *widget) { if(widget->needs_redraw) { struct MuilCheckboxProperties *p = widget->properties; draw_set_color(muil_color.widget_background); draw_rect_set_draw(p->background, 1); draw_set_color(muil_color.widget_border); draw_line_set_draw(p->border, 4); if(p->activated) draw_line_set_draw(p->active_border, 2); widget->needs_redraw = false; } }
static dl_code_e render(const struct color4_com * c, const int n, const dl_context_t * context) { draw_color_t color; int i; for (i=0; i<n; ++i) { draw_color_mul_clip(&color, &context->color, c->color + i); draw_set_color(i, &color); } return DL_COMMAND_OK; }
void screen_init() { enigma::gui_width = window_get_region_width_scaled(); enigma::gui_height = window_get_region_height_scaled(); d3dmgr->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); d3dmgr->Clear(0, NULL, D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); if (!view_enabled) { d3dmgr->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0); screen_set_viewport(0, 0, window_get_region_width_scaled(), window_get_region_height_scaled()); d3d_set_projection_ortho(0, 0, room_width, room_height, 0); } else { for (view_current = 0; view_current < 7; view_current++) { if (view_visible[(int)view_current]) { int vc = (int)view_current; screen_set_viewport(view_xport[vc], view_yport[vc], (window_get_region_width_scaled() - view_xport[vc]), (window_get_region_height_scaled() - view_yport[vc])); d3d_set_projection_ortho(view_xview[vc], view_wview[vc] + view_xview[vc], view_yview[vc], view_hview[vc] + view_yview[vc], view_angle[vc]); break; } } } d3dmgr->SetRenderState(D3DRS_LIGHTING, FALSE); d3dmgr->SetRenderState(D3DRS_ZENABLE, TRUE); d3dmgr->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE); d3dmgr->SetRenderState(D3DRS_ALPHAREF, (DWORD)0x00000001); d3dmgr->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE); d3dmgr->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL); d3dmgr->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); d3dmgr->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); draw_set_color(c_white); }
void screen_init() { enigma::gui_width = window_get_region_width_scaled(); enigma::gui_height = window_get_region_height_scaled(); glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); if (!view_enabled) { glClearColor(0,0,0,0); screen_set_viewport(0, 0, window_get_region_width_scaled(), window_get_region_height_scaled()); d3d_set_projection_ortho(0, 0, room_width, room_height, 0); } else { for (view_current = 0; view_current < 7; view_current++) { if (view_visible[(int)view_current]) { int vc = (int)view_current; glClearColor(0,0,0,0); screen_set_viewport(view_xport[vc], view_yport[vc], view_wport[vc], view_hport[vc]); d3d_set_projection_ortho(view_xview[vc], view_yview[vc], view_wview[vc], view_hview[vc], 0); break; } } } glDisable(GL_DEPTH_TEST); glEnable(GL_BLEND); glEnable(GL_ALPHA_TEST); glEnable(GL_TEXTURE_2D); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glAlphaFunc(GL_ALWAYS,0); texture_reset(); draw_set_color(c_white); }
int BEE::draw_set_color(rgba_t new_color) { return draw_set_color(get_enum_color(new_color)); }
void LOCK_process_frame(float width, float height, double delta_time) { int i; float x, y; time_t now_tt; now_tt = time(0); now += delta_time * 0.2; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_BLEND); glEnable(GL_TEXTURE_2D); glDepthMask(0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glOrtho(0.0, width, height, 0.0, 0.0, -1.0); lock_draw_line(width, height); if (now_tt < hide_hud) { for (i = 0; i < screen_count; ++i) { char date[32]; struct tm* lt; time_t now; lt = localtime(&begin_lock); strftime(date, sizeof(date), "%Y-%m-%d %H:%M %Z", lt); x = screens[i].x_org; y = screens[i].y_org; draw_set_color(0xffffffff); text_draw(x + 10.0, y + 20.0, "%s at %s", user_name, host_name); y += 25.0f; draw_set_color(0xffcccccc); text_draw(x + 10.0, y + 20.0, "Locked since %s", date); y += 25.0f; unsigned int diff = (now_tt - begin_lock); if (diff < 120) text_draw(x + 10.0, y + 20.0, "%u seconds ago", diff); else if (diff < 3600) text_draw(x + 10.0, y + 20.0, "%u:%02u minutes ago", diff / 60, diff % 60); else text_draw(x + 10.0, y + 20.0, "%u:%02u hours ago", diff / 3600, (diff / 60) % 60); y += 25.0f; char pass_obfuscated[sizeof(pass)]; size_t pass_length = strlen(pass); memset(pass_obfuscated, '*', pass_length); pass_obfuscated[pass_length] = 0; text_draw(x + 10.0, y + 20.0, "Password: %s", pass_obfuscated); y += 25.0f; now = time(0); lt = localtime(&now); strftime(date, sizeof(date), "%Y-%m-%d %H:%M:%S %Z", lt); text_draw(x + 10.0, screens[i].y_org + screens[i].height - 10.0, "%s", date); } } draw_flush(); usleep(20000); }