当前位置: 首页 > news >正文

网站建设成本 网站空间广州沙河一起做网站

网站建设成本 网站空间,广州沙河一起做网站,电脑系统中安装wordpress,什么软件可以做动画视频网站简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:Android图形系统中,HWC特别的复杂,特别是HWComposer、ComposerImpl、Composer、Hwc2::Composer之间的关系,有种剪不断理还乱的感觉,通过几个演化例子,看清楚它本来的面目。

2.HWComposer、ComposerImpl、Composer、Hwc2::Composer定义与实现

1.HWComposer实现

frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h

<1>.android::HWComposer定义
namespace Hwc2 {
class Composer;
}namespace android {
class HWComposer {virtual ~HWComposer();virtual void setCallback(HWC2::ComposerCallback*) = 0;....
};
}
<2>.impl::HWComposer定义(继承自android::HWComposer)
namespace impl {class HWComposer final : public android::HWComposer {
public:explicit HWComposer(std::unique_ptr<Hwc2::Composer> composer);explicit HWComposer(const std::string& composerServiceName);~HWComposer() override;
};
}
<3>.impl::HWComposer实现

frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp

namespace impl {HWComposer::HWComposer(std::unique_ptr<Hwc2::Composer> composer): mComposer(std::move(composer)),mMaxVirtualDisplayDimension(static_cast<size_t>(sysprop::max_virtual_display_dimension(0))),mUpdateDeviceProductInfoOnHotplugReconnect(sysprop::update_device_product_info_on_hotplug_reconnect(false)) {}HWComposer::HWComposer(const std::string& composerServiceName): HWComposer(std::make_unique<Hwc2::impl::Composer>(composerServiceName)) {}HWComposer::~HWComposer() {mDisplayData.clear();
}
}

HWComposer构造函数通过它的委托构造函数,通过std::make_uniqueHwc2::impl::Composer(composerServiceName)实例画,那么Hwc2::impl::Composer的实现在哪呢?

2.ComposerImpl实现(Hwc2::Composer是它的别名)

hardware/interfaces/graphics/composer/2.1/utils/hal/include/composer-hal/2.1/Composer.h

<1>.Composer定义,它是ComposerImpl的别名
using Composer = detail::ComposerImpl<IComposer, ComposerHal>;
template <typename Interface, typename Hal>
class ComposerImpl : public Interface {public:static std::unique_ptr<ComposerImpl> create(std::unique_ptr<Hal> hal) {
http://www.yayakq.cn/news/113793/

相关文章:

  • 建设工程质量监督竣工备案网站足球推介网
  • 做网站外包工作怎么样硬件开发与软件开发前景哪个好
  • phpcms可以做哪些网站作品集的个人网站怎么做
  • 网站没有备案怎么做淘宝客三国网页游戏排行榜
  • 做咩有D网站响网吧上不了wordpress添加api
  • 网站的组成临沂做网站首选
  • 网站空间付款方式网站清除数据库
  • iis应用程序池与网站厦门建设局电话多少
  • 泉州网站建设科技公司wordpress纯净版下载
  • 宿迁市住房和城乡建设局老网站wordpress 插件不生效
  • 北京网站建设策划学习网站建设
  • 网站制作的前期主要是做好什么工作宣汉县建设局网站
  • 虚拟网站怎么做小米手机网站架构
  • 凡科网站的排名做不上去北京网站建设公司哪些好
  • 无锡自助建站软件免费视频推广的软件有哪些
  • 谷歌账号注册网站打不开江门网站推广技巧
  • 英国做deal的网站四川建设网官网登录
  • wordpress手机建站无锡网站设计系统
  • o2o网站建设方案ppt品牌建设工作计划
  • 单页移动网页建站教程做企业宣传网站
  • 企业网站建设费如何列支南京网站排名外包
  • php 企业 网站梅州网站建
  • 哈尔滨企业网站wordpress插件广告
  • 宁夏网站开发设计说明书室内设计效果图qq群
  • 深圳网站建设网络公司discuz企业网站模板
  • 网站建设课本小程序开发文档
  • 建设工程监理招标网站wordpress首页生成在
  • 企业建网站群私活网站开发多少钱
  • 秦皇岛网站制作小程序开发北京软件编程培训机构
  • 做红酒网站软件定制开发平台