FCT
载入中...
搜索中...
未找到
FCT::Window类 参考abstract

#include <Window.h>

类 FCT::Window 继承关系图:
Inheritance graph
FCT::Window 的协作图:
Collaboration graph

Public 成员函数

RenderTargetType getType () const override
 Window ()
virtual ~Window ()
void pos (int x, int y)
void size (int w, int h)
virtual void createPlatform ()=0
void create (WindowCreateFlags flags=WindowCreateFlag::defaultConfig)
void bind (Context *ctx) override
virtual bool isRunning () const =0
virtual void swapBuffers ()=0
virtual int getWidth ()=0
virtual int getHeight ()=0
virtual void setCursorPos (int x, int y)=0
void registerHandler (EventHandler *handler)
void unregisterHandler (EventHandler *handler)
virtual Vec2 getCursorPos () const =0
void clearHandler ()
ImagetargetImage () const
CallBackEventHandlergetCallBack () const
ImageRenderTargetgetCurrentTarget ()
void addRenderFinshSemaphore (RHI::Semaphore *semaphore)
void clearRenderFinshSemaphores ()
void setPresentFinshSemaphore (RHI::Semaphore *semaphore)
void addRenderFinshFence (RHI::Fence *fence)
void clearRenderFinshFences ()
void initRender ()
void title (const std::string &title)
void enableDepthBuffer (Format format)
uint32_t getSwapchainImageCount () const
Samples getSwapchainSampleCount () const
RHI::Swapchainswapchain () const
template<typename... Components>
void addModule (Components &&... components)
template<typename Component>
auto getModule () const -> std::conditional_t< std::is_same_v< Component, WindowModule::Swapchain >, RHI::Swapchain *, std::conditional_t< std::is_same_v< Component, WindowModule::AutoViewport >, AutoViewport *, std::conditional_t< std::is_same_v< Component, WindowModule::DepthStencil >, Format, void * > > >
void addRef ()
void release ()
size_t count ()
 operator bool () const
virtual ImagegetImage () const =0

Protected 成员函数

virtual SwapchainTargetWrappergetSwapchainTarget (Context *ctx)=0
virtual void deleteThis ()

Protected 属性

WindowBehaviorm_behavior
AutoViewportm_autoViewport
CallBackEventHandlerm_callbackHandler
std::vector< EventHandler * > m_handlers
int m_x
int m_y
int m_width
int m_height
std::string m_title
RHI::Swapchainm_swapchain
bool m_needEnableDepthBuffer
Format m_depthBufferFormat
Contextm_ctx
EventDispatcher< EventSystemConfig::IdentifierTriggerOnlym_delayModuleCreate
std::atomic< size_t > m_refCount

Private 成员函数

void addSingleComponent (const WindowModule::Swapchain &component)
void addSingleComponent (const WindowModule::AutoViewport &component)
void addSingleComponent (const WindowModule::DepthStencil &component)

友元

class SetParamWindowBehavior

详细描述

在文件 Window.h66 行定义.

构造及析构函数说明

◆ Window()

FCT::Window::Window ( )
inline

在文件 Window.h225 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ ~Window()

virtual FCT::Window::~Window ( )
inlinevirtual

在文件 Window.h74 行定义.

函数调用图:

成员函数说明

◆ addModule()

template<typename... Components>
void FCT::Window::addModule ( Components &&... components)
inline

在文件 Window.h163 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ addRef()

void FCT::RefCount::addRef ( )
inlineinherited

在文件 RefCount.h10 行定义.

这是这个函数的调用关系图:

◆ addRenderFinshFence()

void FCT::Window::addRenderFinshFence ( RHI::Fence * fence)
inline

在文件 Window.h124 行定义.

◆ addRenderFinshSemaphore()

void FCT::Window::addRenderFinshSemaphore ( RHI::Semaphore * semaphore)
inline

在文件 Window.h107 行定义.

◆ addSingleComponent() [1/3]

void FCT::Window::addSingleComponent ( const WindowModule::AutoViewport & component)
private

在文件 Window.cpp45 行定义.

函数调用图:

◆ addSingleComponent() [2/3]

void FCT::Window::addSingleComponent ( const WindowModule::DepthStencil & component)
private

在文件 Window.cpp63 行定义.

函数调用图:

◆ addSingleComponent() [3/3]

void FCT::Window::addSingleComponent ( const WindowModule::Swapchain & component)
private

在文件 Window.cpp31 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ bind()

void FCT::Window::bind ( Context * ctx)
overridevirtual

实现了 FCT::IRenderTarget.

在文件 Window.cpp95 行定义.

函数调用图:

◆ clearHandler()

void FCT::Window::clearHandler ( )

在文件 Window.cpp18 行定义.

这是这个函数的调用关系图:

◆ clearRenderFinshFences()

void FCT::Window::clearRenderFinshFences ( )
inline

在文件 Window.h128 行定义.

◆ clearRenderFinshSemaphores()

void FCT::Window::clearRenderFinshSemaphores ( )
inline

在文件 Window.h116 行定义.

◆ count()

size_t FCT::RefCount::count ( )
inlineinherited

在文件 RefCount.h19 行定义.

这是这个函数的调用关系图:

◆ create()

void FCT::Window::create ( WindowCreateFlags flags = WindowCreateFlag::defaultConfig)

在文件 Window.cpp82 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ createPlatform()

virtual void FCT::Window::createPlatform ( )
pure virtual

FCT::GLFW_Window 内被实现.

这是这个函数的调用关系图:

◆ deleteThis()

virtual void FCT::RefCount::deleteThis ( )
inlineprotectedvirtualinherited

FCT::RHI::Fence , 以及 FCT::RHI::Semaphore 重载.

在文件 RefCount.h27 行定义.

这是这个函数的调用关系图:

◆ enableDepthBuffer()

void FCT::Window::enableDepthBuffer ( Format format)
inline

在文件 Window.h138 行定义.

这是这个函数的调用关系图:

◆ getCallBack()

CallBackEventHandler * FCT::Window::getCallBack ( ) const
inline

在文件 Window.h101 行定义.

◆ getCurrentTarget()

ImageRenderTarget * FCT::Window::getCurrentTarget ( )
inline

在文件 Window.h104 行定义.

这是这个函数的调用关系图:

◆ getCursorPos()

virtual Vec2 FCT::Window::getCursorPos ( ) const
pure virtual

FCT::GLFW_Window 内被实现.

◆ getHeight()

virtual int FCT::Window::getHeight ( )
pure virtual

FCT::Android_Window , 以及 FCT::GLFW_Window 内被实现.

这是这个函数的调用关系图:

◆ getImage()

virtual Image * FCT::IRenderTarget::getImage ( ) const
pure virtualinherited

◆ getModule()

template<typename Component>
auto FCT::Window::getModule ( ) const -> std::conditional_t< std::is_same_v<Component, WindowModule::Swapchain>, RHI::Swapchain*, std::conditional_t< std::is_same_v<Component, WindowModule::AutoViewport>, AutoViewport*, std::conditional_t< std::is_same_v<Component, WindowModule::DepthStencil>, Format, void* > > >
inline

在文件 Window.h168 行定义.

◆ getSwapchainImageCount()

uint32_t FCT::Window::getSwapchainImageCount ( ) const
inline

在文件 Window.h150 行定义.

◆ getSwapchainSampleCount()

Samples FCT::Window::getSwapchainSampleCount ( ) const
inline

在文件 Window.h154 行定义.

◆ getSwapchainTarget()

virtual SwapchainTargetWrapper * FCT::Window::getSwapchainTarget ( Context * ctx)
protectedpure virtual

FCT::GLFW_Window 内被实现.

这是这个函数的调用关系图:

◆ getType()

RenderTargetType FCT::Window::getType ( ) const
inlineoverridevirtual

实现了 FCT::IRenderTarget.

在文件 Window.h72 行定义.

◆ getWidth()

virtual int FCT::Window::getWidth ( )
pure virtual

FCT::Android_Window , 以及 FCT::GLFW_Window 内被实现.

这是这个函数的调用关系图:

◆ initRender()

void FCT::Window::initRender ( )

在文件 Window.cpp26 行定义.

◆ isRunning()

virtual bool FCT::Window::isRunning ( ) const
pure virtual

FCT::Android_Window , 以及 FCT::GLFW_Window 内被实现.

◆ operator bool()

FCT::RefCount::operator bool ( ) const
inlineinherited

在文件 RefCount.h22 行定义.

◆ pos()

void FCT::Window::pos ( int x,
int y )
inline

在文件 Window.h78 行定义.

这是这个函数的调用关系图:

◆ registerHandler()

void FCT::Window::registerHandler ( EventHandler * handler)

在文件 Window.cpp3 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ release()

void FCT::RefCount::release ( )
inlineinherited

在文件 RefCount.h13 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ setCursorPos()

virtual void FCT::Window::setCursorPos ( int x,
int y )
pure virtual

FCT::Android_Window , 以及 FCT::GLFW_Window 内被实现.

◆ setPresentFinshSemaphore()

void FCT::Window::setPresentFinshSemaphore ( RHI::Semaphore * semaphore)
inline

在文件 Window.h120 行定义.

◆ size()

void FCT::Window::size ( int w,
int h )
inline

在文件 Window.h81 行定义.

这是这个函数的调用关系图:

◆ swapBuffers()

virtual void FCT::Window::swapBuffers ( )
pure virtual

FCT::Android_Window , 以及 FCT::GLFW_Window 内被实现.

◆ swapchain()

RHI::Swapchain * FCT::Window::swapchain ( ) const
inline

在文件 Window.h158 行定义.

这是这个函数的调用关系图:

◆ targetImage()

Image * FCT::Window::targetImage ( ) const
inline

在文件 Window.h97 行定义.

◆ title()

void FCT::Window::title ( const std::string & title)
inline

在文件 Window.h133 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ unregisterHandler()

void FCT::Window::unregisterHandler ( EventHandler * handler)

在文件 Window.cpp9 行定义.

函数调用图:

◆ SetParamWindowBehavior

friend class SetParamWindowBehavior
friend

在文件 Window.h71 行定义.

类成员变量说明

◆ m_autoViewport

AutoViewport* FCT::Window::m_autoViewport
protected

在文件 Window.h191 行定义.

◆ m_behavior

WindowBehavior* FCT::Window::m_behavior
protected

在文件 Window.h68 行定义.

◆ m_callbackHandler

CallBackEventHandler* FCT::Window::m_callbackHandler
protected

在文件 Window.h192 行定义.

◆ m_ctx

Context* FCT::Window::m_ctx
protected

在文件 Window.h199 行定义.

◆ m_delayModuleCreate

EventDispatcher<EventSystemConfig::IdentifierTriggerOnly> FCT::Window::m_delayModuleCreate
protected

在文件 Window.h200 行定义.

◆ m_depthBufferFormat

Format FCT::Window::m_depthBufferFormat
protected

在文件 Window.h198 行定义.

◆ m_handlers

std::vector<EventHandler*> FCT::Window::m_handlers
protected

在文件 Window.h193 行定义.

◆ m_height

int FCT::Window::m_height
protected

在文件 Window.h194 行定义.

◆ m_needEnableDepthBuffer

bool FCT::Window::m_needEnableDepthBuffer
protected

在文件 Window.h197 行定义.

◆ m_refCount

std::atomic<size_t> FCT::RefCount::m_refCount
protectedinherited

在文件 RefCount.h30 行定义.

◆ m_swapchain

RHI::Swapchain* FCT::Window::m_swapchain
protected

在文件 Window.h196 行定义.

◆ m_title

std::string FCT::Window::m_title
protected

在文件 Window.h195 行定义.

◆ m_width

int FCT::Window::m_width
protected

在文件 Window.h194 行定义.

◆ m_x

int FCT::Window::m_x
protected

在文件 Window.h194 行定义.

◆ m_y

int FCT::Window::m_y
protected

在文件 Window.h194 行定义.


该类的文档由以下文件生成: