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

#include <Android_Window.h>

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

Public 成员函数

 Android_Window ()
 Android_Window (JavaVM *vm)
void bind (FCT::Context *ctx) override
bool isRunning () const override
void swapBuffers () override
int getWidth () override
int getHeight () override
uint32_t getDeviceWidth ()
uint32_t getDeviceHeight ()
void onDestory ()
void setCursorPos (int x, int y) override
void invokeResizeCallbacks (int width, int height)
void invokeMouseMoveCallbacks (int xpos, int ypos)
void invokeMouseCallbacks (int button, int action, int mods)
void invokeKeyCallbacks (int key, int scancode, int action, int mods)
void invokeScrollCallbacks (int xoffset, int yoffset)
void create ()
void destroy ()
bool isCreated () const
bool hasSurface () const
void destroySurface ()
void create (float w, float h, const char *title)
void viewport (Vec2 lt, Vec2 rb)
void sizeParam (int w, int h)
void resize (int w, int h)
void onSurfaceCreate (jobject surface)
void onSurfaceChanged (int width, int height)
void onSurfaceDestroy ()
RenderTargetType getType () const override
void pos (int x, int y)
void size (int w, int h)
virtual void createPlatform ()=0
void create (WindowCreateFlags flags=WindowCreateFlag::defaultConfig)
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
RHI::Swapchainm_swapchain
bool m_needEnableDepthBuffer
Format m_depthBufferFormat
EventDispatcher< EventSystemConfig::IdentifierTriggerOnlym_delayModuleCreate
std::atomic< size_t > m_refCount

Private 成员函数

JNIEnv * getEnv ()
void createVulkanSurface ()
void destroyVulkanSurface ()
void createVulkanSwapChain ()
void presentVulkan ()
void addSingleComponent (const WindowModule::Swapchain &component)
void addSingleComponent (const WindowModule::AutoViewport &component)
void addSingleComponent (const WindowModule::DepthStencil &component)

Private 属性

jni::GlobalObject< FCTWindowJavaClass > * m_windowObject
Contextm_ctx
JavaVM * m_vm
bool m_hasSurface
bool m_running
bool m_created
const char * m_title
Vec2 m_lt
Vec2 m_rb
void * m_contextReource
ANativeWindow * m_nativeWindow
bool m_needRecreateSwapChain
VK_Swapchain * m_vkSwapchain
vk::SurfaceKHR m_vulkanSurface
std::mutex m_nativeSurfaceMutex
std::function< void()> destorySurface
std::function< void()> createSurface
std::function< void()> recreateSwapChain
std::function< void()> present

详细描述

在文件 Android_Window.h14 行定义.

构造及析构函数说明

◆ Android_Window() [1/2]

FCT::Android_Window::Android_Window ( )

在文件 Android_Window.cpp215 行定义.

◆ Android_Window() [2/2]

FCT::Android_Window::Android_Window ( JavaVM * vm)

在文件 Android_Window.cpp181 行定义.

成员函数说明

◆ addModule()

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

在文件 Window.h163 行定义.

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

◆ addRef()

void FCT::RefCount::addRef ( )
inlineinherited

在文件 RefCount.h10 行定义.

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

◆ addRenderFinshFence()

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

在文件 Window.h124 行定义.

◆ addRenderFinshSemaphore()

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

在文件 Window.h107 行定义.

◆ addSingleComponent() [1/3]

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

在文件 Window.cpp45 行定义.

函数调用图:

◆ addSingleComponent() [2/3]

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

在文件 Window.cpp63 行定义.

函数调用图:

◆ addSingleComponent() [3/3]

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

在文件 Window.cpp31 行定义.

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

◆ bind()

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

实现了 FCT::IRenderTarget.

在文件 Android_Window.cpp16 行定义.

函数调用图:

◆ clearHandler()

void FCT::Window::clearHandler ( )
inherited

在文件 Window.cpp18 行定义.

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

◆ clearRenderFinshFences()

void FCT::Window::clearRenderFinshFences ( )
inlineinherited

在文件 Window.h128 行定义.

◆ clearRenderFinshSemaphores()

void FCT::Window::clearRenderFinshSemaphores ( )
inlineinherited

在文件 Window.h116 行定义.

◆ count()

size_t FCT::RefCount::count ( )
inlineinherited

在文件 RefCount.h19 行定义.

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

◆ create() [1/3]

void FCT::Android_Window::create ( )

在文件 Android_Window.cpp124 行定义.

◆ create() [2/3]

void FCT::Android_Window::create ( float w,
float h,
const char * title )

在文件 Android_Window.cpp167 行定义.

函数调用图:

◆ create() [3/3]

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

在文件 Window.cpp82 行定义.

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

◆ createPlatform()

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

FCT::GLFW_Window 内被实现.

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

◆ createVulkanSurface()

void FCT::Android_Window::createVulkanSurface ( )
private

在文件 Android_Window.cpp266 行定义.

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

◆ createVulkanSwapChain()

void FCT::Android_Window::createVulkanSwapChain ( )
private

在文件 Android_Window.cpp277 行定义.

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

◆ deleteThis()

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

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

在文件 RefCount.h27 行定义.

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

◆ destroy()

void FCT::Android_Window::destroy ( )

在文件 Android_Window.cpp135 行定义.

◆ destroySurface()

void FCT::Android_Window::destroySurface ( )

在文件 Android_Window.cpp152 行定义.

◆ destroyVulkanSurface()

void FCT::Android_Window::destroyVulkanSurface ( )
private

在文件 Android_Window.cpp283 行定义.

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

◆ enableDepthBuffer()

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

在文件 Window.h138 行定义.

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

◆ getCallBack()

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

在文件 Window.h101 行定义.

◆ getCurrentTarget()

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

在文件 Window.h104 行定义.

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

◆ getCursorPos()

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

FCT::GLFW_Window 内被实现.

◆ getDeviceHeight()

uint32_t FCT::Android_Window::getDeviceHeight ( )

在文件 Android_Window.cpp177 行定义.

◆ getDeviceWidth()

uint32_t FCT::Android_Window::getDeviceWidth ( )

在文件 Android_Window.cpp172 行定义.

◆ getEnv()

JNIEnv * FCT::Android_Window::getEnv ( )
inlineprivate

在文件 Android_Window.h66 行定义.

◆ getHeight()

int FCT::Android_Window::getHeight ( )
overridevirtual

实现了 FCT::Window.

在文件 Android_Window.cpp116 行定义.

◆ 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* > > >
inlineinherited

在文件 Window.h168 行定义.

◆ getSwapchainImageCount()

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

在文件 Window.h150 行定义.

◆ getSwapchainSampleCount()

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

在文件 Window.h154 行定义.

◆ getSwapchainTarget()

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

FCT::GLFW_Window 内被实现.

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

◆ getType()

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

实现了 FCT::IRenderTarget.

在文件 Window.h72 行定义.

◆ getWidth()

int FCT::Android_Window::getWidth ( )
overridevirtual

实现了 FCT::Window.

在文件 Android_Window.cpp112 行定义.

◆ hasSurface()

bool FCT::Android_Window::hasSurface ( ) const

在文件 Android_Window.cpp211 行定义.

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

◆ initRender()

void FCT::Window::initRender ( )
inherited

在文件 Window.cpp26 行定义.

◆ invokeKeyCallbacks()

void FCT::Android_Window::invokeKeyCallbacks ( int key,
int scancode,
int action,
int mods )

◆ invokeMouseCallbacks()

void FCT::Android_Window::invokeMouseCallbacks ( int button,
int action,
int mods )

◆ invokeMouseMoveCallbacks()

void FCT::Android_Window::invokeMouseMoveCallbacks ( int xpos,
int ypos )

◆ invokeResizeCallbacks()

void FCT::Android_Window::invokeResizeCallbacks ( int width,
int height )

◆ invokeScrollCallbacks()

void FCT::Android_Window::invokeScrollCallbacks ( int xoffset,
int yoffset )
函数调用图:

◆ isCreated()

bool FCT::Android_Window::isCreated ( ) const

在文件 Android_Window.cpp139 行定义.

◆ isRunning()

bool FCT::Android_Window::isRunning ( ) const
overridevirtual

实现了 FCT::Window.

在文件 Android_Window.cpp84 行定义.

◆ onDestory()

void FCT::Android_Window::onDestory ( )

在文件 Android_Window.cpp233 行定义.

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

◆ onSurfaceChanged()

void FCT::Android_Window::onSurfaceChanged ( int width,
int height )

在文件 Android_Window.cpp252 行定义.

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

◆ onSurfaceCreate()

void FCT::Android_Window::onSurfaceCreate ( jobject surface)

在文件 Android_Window.cpp237 行定义.

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

◆ onSurfaceDestroy()

void FCT::Android_Window::onSurfaceDestroy ( )

在文件 Android_Window.cpp257 行定义.

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

◆ operator bool()

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

在文件 RefCount.h22 行定义.

◆ pos()

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

在文件 Window.h78 行定义.

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

◆ presentVulkan()

void FCT::Android_Window::presentVulkan ( )
private

在文件 Android_Window.cpp291 行定义.

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

◆ registerHandler()

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

在文件 Window.cpp3 行定义.

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

◆ release()

void FCT::RefCount::release ( )
inlineinherited

在文件 RefCount.h13 行定义.

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

◆ resize()

void FCT::Android_Window::resize ( int w,
int h )

在文件 Android_Window.cpp229 行定义.

◆ setCursorPos()

void FCT::Android_Window::setCursorPos ( int x,
int y )
overridevirtual

实现了 FCT::Window.

在文件 Android_Window.cpp120 行定义.

◆ setPresentFinshSemaphore()

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

在文件 Window.h120 行定义.

◆ size()

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

在文件 Window.h81 行定义.

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

◆ sizeParam()

void FCT::Android_Window::sizeParam ( int w,
int h )

在文件 Android_Window.cpp224 行定义.

◆ swapBuffers()

void FCT::Android_Window::swapBuffers ( )
overridevirtual

实现了 FCT::Window.

在文件 Android_Window.cpp88 行定义.

函数调用图:

◆ swapchain()

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

在文件 Window.h158 行定义.

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

◆ targetImage()

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

在文件 Window.h97 行定义.

◆ title()

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

在文件 Window.h133 行定义.

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

◆ unregisterHandler()

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

在文件 Window.cpp9 行定义.

函数调用图:

◆ viewport()

void FCT::Android_Window::viewport ( Vec2 lt,
Vec2 rb )

在文件 Android_Window.cpp162 行定义.

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

类成员变量说明

◆ createSurface

std::function<void()> FCT::Android_Window::createSurface
private

在文件 Android_Window.h95 行定义.

◆ destorySurface

std::function<void()> FCT::Android_Window::destorySurface
private

在文件 Android_Window.h94 行定义.

◆ m_autoViewport

AutoViewport* FCT::Window::m_autoViewport
protectedinherited

在文件 Window.h191 行定义.

◆ m_behavior

WindowBehavior* FCT::Window::m_behavior
protectedinherited

在文件 Window.h68 行定义.

◆ m_callbackHandler

CallBackEventHandler* FCT::Window::m_callbackHandler
protectedinherited

在文件 Window.h192 行定义.

◆ m_contextReource

void* FCT::Android_Window::m_contextReource
private

在文件 Android_Window.h78 行定义.

◆ m_created

bool FCT::Android_Window::m_created
private

在文件 Android_Window.h74 行定义.

◆ m_ctx

Context* FCT::Android_Window::m_ctx
private

在文件 Android_Window.h65 行定义.

◆ m_delayModuleCreate

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

在文件 Window.h200 行定义.

◆ m_depthBufferFormat

Format FCT::Window::m_depthBufferFormat
protectedinherited

在文件 Window.h198 行定义.

◆ m_handlers

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

在文件 Window.h193 行定义.

◆ m_hasSurface

bool FCT::Android_Window::m_hasSurface
private

在文件 Android_Window.h72 行定义.

◆ m_height

int FCT::Window::m_height
protectedinherited

在文件 Window.h194 行定义.

◆ m_lt

Vec2 FCT::Android_Window::m_lt
private

在文件 Android_Window.h76 行定义.

◆ m_nativeSurfaceMutex

std::mutex FCT::Android_Window::m_nativeSurfaceMutex
private

在文件 Android_Window.h93 行定义.

◆ m_nativeWindow

ANativeWindow* FCT::Android_Window::m_nativeWindow
private

在文件 Android_Window.h79 行定义.

◆ m_needEnableDepthBuffer

bool FCT::Window::m_needEnableDepthBuffer
protectedinherited

在文件 Window.h197 行定义.

◆ m_needRecreateSwapChain

bool FCT::Android_Window::m_needRecreateSwapChain
private

在文件 Android_Window.h80 行定义.

◆ m_rb

Vec2 FCT::Android_Window::m_rb
private

在文件 Android_Window.h77 行定义.

◆ m_refCount

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

在文件 RefCount.h30 行定义.

◆ m_running

bool FCT::Android_Window::m_running
private

在文件 Android_Window.h73 行定义.

◆ m_swapchain

RHI::Swapchain* FCT::Window::m_swapchain
protectedinherited

在文件 Window.h196 行定义.

◆ m_title

const char* FCT::Android_Window::m_title
private

在文件 Android_Window.h75 行定义.

◆ m_vkSwapchain

VK_Swapchain* FCT::Android_Window::m_vkSwapchain
private

在文件 Android_Window.h82 行定义.

◆ m_vm

JavaVM* FCT::Android_Window::m_vm
private

在文件 Android_Window.h71 行定义.

◆ m_vulkanSurface

vk::SurfaceKHR FCT::Android_Window::m_vulkanSurface
private

在文件 Android_Window.h88 行定义.

◆ m_width

int FCT::Window::m_width
protectedinherited

在文件 Window.h194 行定义.

◆ m_windowObject

jni::GlobalObject<FCTWindowJavaClass>* FCT::Android_Window::m_windowObject
private

在文件 Android_Window.h64 行定义.

◆ m_x

int FCT::Window::m_x
protectedinherited

在文件 Window.h194 行定义.

◆ m_y

int FCT::Window::m_y
protectedinherited

在文件 Window.h194 行定义.

◆ present

std::function<void()> FCT::Android_Window::present
private

在文件 Android_Window.h97 行定义.

◆ recreateSwapChain

std::function<void()> FCT::Android_Window::recreateSwapChain
private

在文件 Android_Window.h96 行定义.


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