当前位置: 首页>>代码示例>>C++>>正文


C++ SkinTheme::draw_bounds_array方法代码示例

本文整理汇总了C++中SkinTheme::draw_bounds_array方法的典型用法代码示例。如果您正苦于以下问题:C++ SkinTheme::draw_bounds_array方法的具体用法?C++ SkinTheme::draw_bounds_array怎么用?C++ SkinTheme::draw_bounds_array使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SkinTheme的用法示例。


在下文中一共展示了SkinTheme::draw_bounds_array方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: draw_color_button

void draw_color_button(BITMAP* bmp,
                       const Rect& rc,
                       bool outer_nw, bool outer_n, bool outer_ne, bool outer_e,
                       bool outer_se, bool outer_s, bool outer_sw, bool outer_w,
                       PixelFormat pixelFormat, const Color& color, bool hot, bool drag)
{
  SkinTheme* theme = (SkinTheme*)CurrentTheme::get();
  int scale = jguiscale();

  // Draw background (the color)
  draw_color(bmp,
             Rect(rc.x+1*jguiscale(),
                  rc.y+1*jguiscale(),
                  rc.w-((outer_e) ? 2*jguiscale(): 1*jguiscale()),
                  rc.h-((outer_s) ? 2*jguiscale(): 1*jguiscale())), pixelFormat, color);

  // Draw opaque border
  {
    int parts[8] = {
      outer_nw ? PART_COLORBAR_0_NW: PART_COLORBAR_3_NW,
      outer_n  ? PART_COLORBAR_0_N : PART_COLORBAR_2_N,
      outer_ne ? PART_COLORBAR_1_NE: (outer_e ? PART_COLORBAR_3_NE: PART_COLORBAR_2_NE),
      outer_e  ? PART_COLORBAR_1_E : PART_COLORBAR_0_E,
      outer_se ? PART_COLORBAR_3_SE: (outer_s ? PART_COLORBAR_2_SE: (outer_e ? PART_COLORBAR_1_SE: PART_COLORBAR_0_SE)),
      outer_s  ? PART_COLORBAR_2_S : PART_COLORBAR_0_S,
      outer_sw ? PART_COLORBAR_2_SW: (outer_s ? PART_COLORBAR_3_SW: PART_COLORBAR_1_SW),
      outer_w  ? PART_COLORBAR_0_W : PART_COLORBAR_1_W,
    };
    theme->draw_bounds_array(bmp, rc.x, rc.y, rc.x+rc.w-1, rc.y+rc.h-1, parts);
  }

  // Draw hot
  if (hot) {
    theme->draw_bounds_nw(bmp,
                          rc.x, rc.y,
                          rc.x+rc.w-1,
                          rc.y+rc.h-1 - (outer_s ? 1*scale: 0),
                          PART_COLORBAR_BORDER_HOTFG_NW);
  }
}
开发者ID:optigon,项目名称:aseprite,代码行数:40,代码来源:gfx.cpp

示例2: draw_color_button

void draw_color_button(ui::Graphics* g,
  const Rect& rc, const app::Color& color,
  bool hot, bool drag)
{
  SkinTheme* theme = (SkinTheme*)ui::CurrentTheme::get();
  int scale = ui::guiscale();

  // Draw background (the color)
  draw_color(g,
    Rect(rc.x+1*scale,
      rc.y+1*scale,
      rc.w-2*scale,
      rc.h-2*scale), color);

  // Draw opaque border
  {
    int parts[8] = {
      PART_COLORBAR_0_NW,
      PART_COLORBAR_0_N,
      PART_COLORBAR_1_NE,
      PART_COLORBAR_1_E,
      PART_COLORBAR_3_SE,
      PART_COLORBAR_2_S,
      PART_COLORBAR_2_SW,
      PART_COLORBAR_0_W
    };
    theme->draw_bounds_array(g, rc, parts);
  }

  // Draw hot
  if (hot) {
    theme->draw_bounds_nw(g,
      gfx::Rect(rc.x, rc.y, rc.w, rc.h-1 - 1*scale),
      PART_COLORBAR_BORDER_HOTFG_NW);
  }
}
开发者ID:1007650105,项目名称:aseprite,代码行数:36,代码来源:gfx.cpp


注:本文中的SkinTheme::draw_bounds_array方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。