osg学习(三十七)如何实现跨平台创建窗口

本文介绍了如何在osg中实现跨平台创建窗口,包括在camkelist中设置选项,cmake工程配置,利用全局静态变量注册窗体接口,以及在创建窗口时选择合适的窗体接口,最后通过平台特定的函数创建窗口。
摘要由CSDN通过智能技术生成

1、在camkelist中设置选项


IF(WIN32 AND NOT ANDROID)
   SET(TARGET_H_NO_MODULE_INSTALL
        ${HEADER_PATH}/api/Win32/GraphicsHandleWin32
        ${HEADER_PATH}/api/Win32/GraphicsWindowWin32
        ${HEADER_PATH}/api/Win32/PixelBufferWin32
    )

    SET(LIB_COMMON_FILES ${LIB_COMMON_FILES}
        GraphicsWindowWin32.cpp
        PixelBufferWin32.cpp
    )
ELSE()
    IF(${OSG_WINDOWING_SYSTEM} STREQUAL "Cocoa")
            SET(TARGET_H_NO_MODULE_INSTALL
                ${HEADER_PATH}/api/Cocoa/GraphicsHandleCocoa
                ${HEADER_PATH}/api/Cocoa/GraphicsWindowCocoa
                ${HEADER_PATH}/api/Cocoa/PixelBufferCocoa
            )
        SET(LIB_COMMON_FILES ${LIB_COMMON_FILES}
            GraphicsWindowCocoa.mm
            DarwinUtils.h
            DarwinUtils.mm
            PixelBufferCocoa.mm
        )
    ELSEIF(${OSG_WINDOWING_SYSTEM} STREQUAL "Carbon")
            SET(TARGET_H_NO_MODULE_INSTALL
                ${HEADER_PATH}/api/Carbon/GraphicsHandleCarbon
                ${HEADER_PATH}/api/Carbon/GraphicsWindowCarbon
                ${HEADER_PATH}/api/Carbon/PixelBufferCarbon
            )
        SET(LIB_COMMON_FILES ${LIB_COMMON_FILES}
            GraphicsWindowCarbon.cpp
            DarwinUtils.h
            DarwinUtils.mm
            PixelBufferCarbon.cpp
        )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值