HiEasyX  Ver 0.3.0
EasyX 全面扩展库
HiEasyX::Scene类 参考

#include <HiCanvas.h>

类 HiEasyX::Scene 继承关系图:

Public 成员函数

std::vector< Layer * > GetAllLayer ()
 
size_t GetAllLayerSize () const
 获取所有图层的总数 更多...
 
LayerGetSpecialLayer (LayerOrder order)
 
void Render (IMAGE *pImg=nullptr, bool bShowAllOutline=false, bool bShowAllText=true)
 渲染到画布 更多...
 

详细描述

    场景
 备注:
    图层索引越大,图层越靠前

在文件 HiCanvas.h876 行定义.

成员函数说明

◆ GetAllLayer()

std::vector< Layer * > HiEasyX::Scene::GetAllLayer ( )
    获取所有图层的拷贝
 备注:
    图层索引越大,图层越靠前
返回
所有图层的拷贝

在文件 HiCanvas.cpp1997 行定义.

1998  {
1999  std::vector<Layer*> vecLayer;
2000  vecLayer.push_back(&m_layerBottomMost);
2001  vecLayer.push_back(&m_layerBottom);
2002  vecLayer.insert(vecLayer.end(), this->begin(), this->end());
2003  vecLayer.push_back(&m_layerTop);
2004  vecLayer.push_back(&m_layerTopMost);
2005  return vecLayer;
2006  }

◆ GetAllLayerSize()

size_t HiEasyX::Scene::GetAllLayerSize ( ) const

获取所有图层的总数

在文件 HiCanvas.cpp2008 行定义.

2009  {
2010  // 普通图层加 4 个特殊图层
2011  return this->size() + 4;
2012  }

◆ GetSpecialLayer()

Layer * HiEasyX::Scene::GetSpecialLayer ( LayerOrder  order)
    获取特殊图层(除了普通图层外的其他图层,见 LayerOrder)
 备注:
    不建议滥用特殊图层
参数
[in]order特殊图层索引
返回
特殊图层

在文件 HiCanvas.cpp2014 行定义.

2015  {
2016  static Layer layerNull;
2017  layerNull = {};
2018  switch (order)
2019  {
2020  case LAYERORDER_BOTTOM_MOST: return &m_layerBottomMost; break;
2021  case LAYERORDER_BOTTOM: return &m_layerBottom; break;
2022  case LAYERORDER_TOP: return &m_layerTop; break;
2023  case LAYERORDER_TOP_MOST: return &m_layerTopMost; break;
2024  default: return &layerNull; break;
2025  }
2026  }

◆ Render()

void HiEasyX::Scene::Render ( IMAGE *  pImg = nullptr,
bool  bShowAllOutline = false,
bool  bShowAllText = true 
)

渲染到画布

参数
[in]pImg目标绘制画布
[in]bShowAllOutline是否显示轮廓
[in]bShowAllText是否显示轮廓文本

在文件 HiCanvas.cpp2028 行定义.

2029  {
2030  m_property.SaveWorkingImageOnly();
2031  SetWorkingImage(pImg);
2032  cleardevice();
2033  m_property.ApplyWorkingImageOnly();
2034 
2035  size_t i = 0;
2036  for (auto& layer : GetAllLayer())
2037  {
2038  layer->Render(pImg, bShowAllOutline, bShowAllText, L"Layer[" + std::to_wstring(i) + L"]");
2039  i++;
2040  }
2041  }

该类的文档由以下文件生成:
HiEasyX::LAYERORDER_BOTTOM_MOST
Definition: HiCanvas.h:861
HiEasyX::DrawingProperty::SaveWorkingImageOnly
void SaveWorkingImageOnly()
只保存当前绘图对象
Definition: HiDrawingProperty.cpp:23
HiEasyX::LAYERORDER_BOTTOM
Definition: HiCanvas.h:862
HiEasyX::LAYERORDER_TOP_MOST
Definition: HiCanvas.h:865
HiEasyX::DrawingProperty::ApplyWorkingImageOnly
void ApplyWorkingImageOnly()
只恢复绘图对象
Definition: HiDrawingProperty.cpp:48
HiEasyX::LAYERORDER_TOP
Definition: HiCanvas.h:864
HiEasyX::Scene::GetAllLayer
std::vector< Layer * > GetAllLayer()
Definition: HiCanvas.cpp:1997