Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
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);
}
Пример #4
0
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;
	}
}
Пример #5
0
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;
}
Пример #6
0
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);
}
Пример #7
0
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);
}
Пример #8
0
int BEE::draw_set_color(rgba_t new_color) {
	return draw_set_color(get_enum_color(new_color));
}
Пример #9
0
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);
}