![]() |
DDraceNetwork Documentation
|
This is the complete list of members for CGraphics_Threaded, including all inherited members.
| AddBackEndWarningIfExists() | CGraphics_Threaded | private |
| AddCmd(TName &Cmd, const std::function< bool()> &FailFunc=[] { return true;}) | CGraphics_Threaded | inlineprivate |
| AddVertices(int Count) | CGraphics_Threaded | private |
| AddVertices(int Count, CCommandBuffer::SVertex *pVertices) | CGraphics_Threaded | private |
| AddVertices(int Count, CCommandBuffer::SVertexTex3DStream *pVertices) | CGraphics_Threaded | private |
| AddWarning(const SWarning &Warning) | CGraphics_Threaded | |
| AddWindowPropChangeListener(WINDOW_PROPS_CHANGED_FUNC pFunc) override | CGraphics_Threaded | virtual |
| AddWindowResizeListener(WINDOW_RESIZE_FUNC pFunc) override | CGraphics_Threaded | virtual |
| AdjustViewport(bool SendViewportChangeToBackend) | CGraphics_Threaded | private |
| AllocCommandBufferData(size_t AllocSize) | CGraphics_Threaded | private |
| BlendAdditive() override | CGraphics_Threaded | virtual |
| BlendNone() override | CGraphics_Threaded | virtual |
| BlendNormal() override | CGraphics_Threaded | virtual |
| BUFFER_OBJECT_CREATE_FLAGS_ONE_TIME_USE_BIT enum value | IGraphics | |
| BufferMemoryUsage() const override | CGraphics_Threaded | virtual |
| CalcScreenParams(float Aspect, float Zoom, float *pWidth, float *pHeight) const | IGraphics | |
| CGraphics_Threaded() | CGraphics_Threaded | |
| ChangeColorOfCurrentQuadVertices(float r, float g, float b, float a) override | CGraphics_Threaded | virtual |
| ChangeColorOfQuadVertices(size_t QuadOffset, unsigned char r, unsigned char g, unsigned char b, unsigned char a) override | CGraphics_Threaded | virtual |
| CheckImageDivisibility(const char *pContextName, CImageInfo &Image, int DivX, int DivY, bool AllowResize) override | CGraphics_Threaded | virtual |
| Clear(float r, float g, float b, bool ForceClearNow=false) override | CGraphics_Threaded | virtual |
| ClipDisable() override | CGraphics_Threaded | virtual |
| ClipEnable(int x, int y, int w, int h) override | CGraphics_Threaded | virtual |
| CopyBufferObjectInternal(int WriteBufferIndex, int ReadBufferIndex, size_t WriteOffset, size_t ReadOffset, size_t CopyDataSize) | CGraphics_Threaded | |
| CORNER_ALL enum value | IGraphics | |
| CORNER_B enum value | IGraphics | |
| CORNER_BL enum value | IGraphics | |
| CORNER_BR enum value | IGraphics | |
| CORNER_L enum value | IGraphics | |
| CORNER_NONE enum value | IGraphics | |
| CORNER_R enum value | IGraphics | |
| CORNER_T enum value | IGraphics | |
| CORNER_TL enum value | IGraphics | |
| CORNER_TR enum value | IGraphics | |
| CreateBufferContainer(SBufferContainerInfo *pContainerInfo) override | CGraphics_Threaded | virtual |
| CreateBufferObject(size_t UploadDataSize, void *pUploadData, int CreateFlags, bool IsMovedPointer=false) override | CGraphics_Threaded | virtual |
| CreateQuadContainer(bool AutomaticUpload=true) override | CGraphics_Threaded | virtual |
| CreateRectQuadContainer(float x, float y, float w, float h, float r, int Corners) override | CGraphics_Threaded | virtual |
| CreateTextureHandle(int Index) | IGraphics | inlineprotected |
| CurrentWarning() override | CGraphics_Threaded | virtual |
| DeleteBufferContainer(int &ContainerIndex, bool DestroyAllBO=true) override | CGraphics_Threaded | virtual |
| DeleteBufferObject(int BufferIndex) override | CGraphics_Threaded | virtual |
| DeleteQuadContainer(int &ContainerIndex) override | CGraphics_Threaded | virtual |
| DrawCircle(float CenterX, float CenterY, float Radius, int Segments) override | CGraphics_Threaded | virtual |
| DrawRect(float x, float y, float w, float h, ColorRGBA Color, int Corners, float Rounding) override | CGraphics_Threaded | virtual |
| DrawRect4(float x, float y, float w, float h, ColorRGBA ColorTopLeft, ColorRGBA ColorTopRight, ColorRGBA ColorBottomLeft, ColorRGBA ColorBottomRight, int Corners, float Rounding) override | CGraphics_Threaded | virtual |
| DrawRectExt(float x, float y, float w, float h, float r, int Corners) override | CGraphics_Threaded | virtual |
| DrawRectExt4(float x, float y, float w, float h, ColorRGBA ColorTopLeft, ColorRGBA ColorTopRight, ColorRGBA ColorBottomLeft, ColorRGBA ColorBottomRight, float r, int Corners) override | CGraphics_Threaded | virtual |
| DrawSprite(float x, float y, float Size) override | CGraphics_Threaded | virtual |
| DrawSprite(float x, float y, float ScaledWidth, float ScaledHeight) override | CGraphics_Threaded | virtual |
| EBufferObjectCreateFlags enum name | IGraphics | |
| EDrawing enum name | CGraphics_Threaded | private |
| EMessageBoxType enum name | IGraphics | |
| FindFreeTextureIndex() | CGraphics_Threaded | |
| FlushVertices(bool KeepVertices=false) override | CGraphics_Threaded | virtual |
| FlushVerticesImpl(bool KeepVertices, EPrimitiveType &PrimType, size_t &PrimCount, size_t &NumVerts, TName &Command, size_t VertSize) | CGraphics_Threaded | inline |
| FlushVerticesTex3D() override | CGraphics_Threaded | virtual |
| FreeTextureIndex(CTextureHandle *pIndex) | CGraphics_Threaded | |
| GetCurrentVideoMode(CVideoMode &CurMode, int Screen) override | CGraphics_Threaded | virtual |
| GetDesktopScreenHeight() const | CGraphics_Threaded | inlinevirtual |
| GetDesktopScreenWidth() const | CGraphics_Threaded | inlinevirtual |
| GetDriverVersion(EGraphicsDriverAgeType DriverAgeType, int &Major, int &Minor, int &Patch, const char *&pName, EBackendType BackendType) override | CGraphics_Threaded | inlinevirtual |
| GetGpus() const override | CGraphics_Threaded | virtual |
| GetNumScreens() const override | CGraphics_Threaded | virtual |
| GetReadPresentedImageDataFuncUnsafe() override | CGraphics_Threaded | virtual |
| GetRendererString() override | CGraphics_Threaded | virtual |
| GetScreen(float *pTopLeftX, float *pTopLeftY, float *pBottomRightX, float *pBottomRightY) const override | CGraphics_Threaded | virtual |
| GetScreenName(int Screen) const override | CGraphics_Threaded | virtual |
| GetSpriteScale(const CDataSprite *pSprite, float &ScaleX, float &ScaleY) const override | CGraphics_Threaded | virtual |
| GetSpriteScale(int Id, float &ScaleX, float &ScaleY) const override | CGraphics_Threaded | virtual |
| GetSpriteScaleImpl(int Width, int Height, float &ScaleX, float &ScaleY) const override | CGraphics_Threaded | virtual |
| GetVendorString() override | CGraphics_Threaded | virtual |
| GetVersionString() override | CGraphics_Threaded | virtual |
| GetVideoModes(CVideoMode *pModes, int MaxModes, int Screen) override | CGraphics_Threaded | virtual |
| GetWindowScreen() override | CGraphics_Threaded | virtual |
| GotResized(int w, int h, int RefreshRate) override | CGraphics_Threaded | virtual |
| HasTextureArraysSupport() override | CGraphics_Threaded | inlinevirtual |
| IInterface() | IInterface | inline |
| IndicesNumRequiredNotify(unsigned int RequiredIndicesCount) override | CGraphics_Threaded | virtual |
| Init() override | CGraphics_Threaded | virtual |
| InitWindow() | CGraphics_Threaded | private |
| InsertSignal(CSemaphore *pSemaphore) override | CGraphics_Threaded | virtual |
| InterfaceName() | IEngineGraphics | inlinestatic |
| IsBackendInitialized() override | CGraphics_Threaded | virtual |
| IsConfigModernAPI() override | CGraphics_Threaded | inlinevirtual |
| IsIdle() const override | CGraphics_Threaded | virtual |
| IsImageFormatRgba(const char *pContextName, const CImageInfo &Image) override | CGraphics_Threaded | virtual |
| IsImageSubFullyTransparent(const CImageInfo &FromImageInfo, int x, int y, int w, int h) override | CGraphics_Threaded | virtual |
| IsQuadBufferingEnabled() override | CGraphics_Threaded | inlinevirtual |
| IsQuadContainerBufferingEnabled() override | CGraphics_Threaded | inlinevirtual |
| IsScreenKeyboardShown() override | CGraphics_Threaded | virtual |
| IsSpriteTextureFullyTransparent(const CImageInfo &FromImageInfo, const struct CDataSprite *pSprite) override | CGraphics_Threaded | virtual |
| IssueInit() | CGraphics_Threaded | private |
| IsTextBufferingEnabled() override | CGraphics_Threaded | inlinevirtual |
| IsTileBufferingEnabled() override | CGraphics_Threaded | inlinevirtual |
| Kernel() | IInterface | inlineprotected |
| KickCommandBuffer() | CGraphics_Threaded | private |
| LinesBatchBegin(CLineItemBatch *pBatch) override | CGraphics_Threaded | virtual |
| LinesBatchDraw(CLineItemBatch *pBatch, const CLineItem *pArray, size_t Num) override | CGraphics_Threaded | virtual |
| LinesBatchEnd(CLineItemBatch *pBatch) override | CGraphics_Threaded | virtual |
| LinesBegin() override | CGraphics_Threaded | virtual |
| LinesDraw(const CLineItem *pArray, size_t Num) override | CGraphics_Threaded | virtual |
| LinesEnd() override | CGraphics_Threaded | virtual |
| LoadPng(CImageInfo &Image, const char *pFilename, int StorageType) override | CGraphics_Threaded | virtual |
| LoadPng(CImageInfo &Image, const uint8_t *pData, size_t DataSize, const char *pContextName) override | CGraphics_Threaded | virtual |
| LoadSpriteTexture(const CImageInfo &FromImageInfo, const struct CDataSprite *pSprite) override | CGraphics_Threaded | virtual |
| LoadTextTextures(size_t Width, size_t Height, CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture, uint8_t *pTextData, uint8_t *pTextOutlineData) override | CGraphics_Threaded | virtual |
| LoadTexture(const char *pFilename, int StorageType, int Flags=0) override | CGraphics_Threaded | virtual |
| LoadTextureAddWarning(size_t Width, size_t Height, int Flags, const char *pTexName) | CGraphics_Threaded | |
| LoadTextureRaw(const CImageInfo &Image, int Flags, const char *pTexName=nullptr) override | CGraphics_Threaded | virtual |
| LoadTextureRawMove(CImageInfo &Image, int Flags, const char *pTexName=nullptr) override | CGraphics_Threaded | virtual |
| m_aColor | CGraphics_Threaded | private |
| m_apCommandBuffers | CGraphics_Threaded | private |
| m_aScreenshotName | CGraphics_Threaded | private |
| m_aTexture | CGraphics_Threaded | private |
| m_aVertices | CGraphics_Threaded | private |
| m_aVerticesTex3D | CGraphics_Threaded | private |
| m_CurIndex | CGraphics_Threaded | private |
| m_CurrentCommandBuffer | CGraphics_Threaded | private |
| m_DoScreenshot | CGraphics_Threaded | private |
| m_Drawing | CGraphics_Threaded | private |
| m_FirstFreeBufferObjectIndex | CGraphics_Threaded | private |
| m_FirstFreeQuadContainer | CGraphics_Threaded | private |
| m_FirstFreeTexture | CGraphics_Threaded | private |
| m_FirstFreeVertexArrayInfo | CGraphics_Threaded | private |
| m_GLHasTextureArraysSupport | CGraphics_Threaded | private |
| m_GLQuadBufferingEnabled | CGraphics_Threaded | private |
| m_GLQuadContainerBufferingEnabled | CGraphics_Threaded | private |
| m_GLTextBufferingEnabled | CGraphics_Threaded | private |
| m_GLTileBufferingEnabled | CGraphics_Threaded | private |
| m_GLUses2DTextureArrays | CGraphics_Threaded | private |
| m_GLUseTrianglesAsQuad | CGraphics_Threaded | private |
| m_IsForcedViewport | CGraphics_Threaded | private |
| m_NullTexture | CGraphics_Threaded | private |
| m_NumVertices | CGraphics_Threaded | private |
| m_pBackend | CGraphics_Threaded | private |
| m_pCommandBuffer | CGraphics_Threaded | private |
| m_pEngine | CGraphics_Threaded | private |
| m_pKernel | IInterface | private |
| m_pReadPixelColor | CGraphics_Threaded | private |
| m_pStorage | CGraphics_Threaded | private |
| m_ReadPixelPosition | CGraphics_Threaded | private |
| m_RenderEnable | CGraphics_Threaded | private |
| m_Rotation | CGraphics_Threaded | private |
| m_ScreenHeight | IGraphics | protected |
| m_ScreenHiDPIScale | IGraphics | protected |
| m_ScreenRefreshRate | IGraphics | protected |
| m_ScreenWidth | IGraphics | protected |
| m_SpriteScale | CGraphics_Threaded | private |
| m_State | CGraphics_Threaded | private |
| m_TextureMemoryUsage | CGraphics_Threaded | private |
| m_vBufferObjectIndices | CGraphics_Threaded | private |
| m_vPropChangeListeners | CGraphics_Threaded | private |
| m_vQuadContainers | CGraphics_Threaded | private |
| m_vResizeListeners | CGraphics_Threaded | private |
| m_vTextureIndices | CGraphics_Threaded | private |
| m_vVertexArrayInfo | CGraphics_Threaded | private |
| m_vWarnings | CGraphics_Threaded | private |
| m_WarningsMutex | CGraphics_Threaded | private |
| m_WarnPngliteIncompatibleImages | CGraphics_Threaded | private |
| MapScreen(float TopLeftX, float TopLeftY, float BottomRightX, float BottomRightY) override | CGraphics_Threaded | virtual |
| MapScreenToInterface(float CenterX, float CenterY, float Zoom=1.0f) | IGraphics | |
| MapScreenToWorld(float CenterX, float CenterY, float ParallaxX, float ParallaxY, float ParallaxZoom, float OffsetX, float OffsetY, float Aspect, float Zoom, float *pPoints) const | IGraphics | |
| Minimize() override | CGraphics_Threaded | virtual |
| Move(int x, int y) override | CGraphics_Threaded | virtual |
| NotifyWindow() override | CGraphics_Threaded | virtual |
| QuadContainerAddQuads(int ContainerIndex, CQuadItem *pArray, int Num) override | CGraphics_Threaded | virtual |
| QuadContainerAddQuads(int ContainerIndex, CFreeformItem *pArray, int Num) override | CGraphics_Threaded | virtual |
| QuadContainerAddSprite(int QuadContainerIndex, float x, float y, float Size) override | CGraphics_Threaded | virtual |
| QuadContainerAddSprite(int QuadContainerIndex, float Size) override | CGraphics_Threaded | virtual |
| QuadContainerAddSprite(int QuadContainerIndex, float Width, float Height) override | CGraphics_Threaded | virtual |
| QuadContainerAddSprite(int QuadContainerIndex, float X, float Y, float Width, float Height) override | CGraphics_Threaded | virtual |
| QuadContainerChangeAutomaticUpload(int ContainerIndex, bool AutomaticUpload) override | CGraphics_Threaded | virtual |
| QuadContainerReset(int ContainerIndex) override | CGraphics_Threaded | virtual |
| QuadContainerUpload(int ContainerIndex) override | CGraphics_Threaded | virtual |
| QuadsBegin() override | CGraphics_Threaded | virtual |
| QuadsDraw(CQuadItem *pArray, int Num) override | CGraphics_Threaded | virtual |
| QuadsDrawCurrentVertices(bool KeepVertices=true) override | CGraphics_Threaded | virtual |
| QuadsDrawFreeform(const CFreeformItem *pArray, int Num) override | CGraphics_Threaded | virtual |
| QuadsDrawTL(const CQuadItem *pArray, int Num) override | CGraphics_Threaded | virtual |
| QuadsDrawTLImpl(TName *pVertices, const CQuadItem *pArray, int Num) | CGraphics_Threaded | inline |
| QuadsEnd() override | CGraphics_Threaded | virtual |
| QuadsEndKeepVertices() override | CGraphics_Threaded | virtual |
| QuadsSetRotation(float Angle) override | CGraphics_Threaded | virtual |
| QuadsSetSubset(float TlU, float TlV, float BrU, float BrV) override | CGraphics_Threaded | virtual |
| QuadsSetSubsetFree(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, int Index=-1) override | CGraphics_Threaded | virtual |
| QuadsTex3DBegin() override | CGraphics_Threaded | virtual |
| QuadsTex3DDrawTL(const CQuadItem *pArray, int Num) override | CGraphics_Threaded | virtual |
| QuadsTex3DEnd() override | CGraphics_Threaded | virtual |
| QuadsText(float x, float y, float Size, const char *pText) override | CGraphics_Threaded | virtual |
| ReadPixel(ivec2 Position, ColorRGBA *pColor) override | CGraphics_Threaded | virtual |
| ReadPixelDirect(bool *pSwapped) | CGraphics_Threaded | private |
| RecreateBufferObject(int BufferIndex, size_t UploadDataSize, void *pUploadData, int CreateFlags, bool IsMovedPointer=false) override | CGraphics_Threaded | virtual |
| RenderBorderTiles(int BufferContainerIndex, const ColorRGBA &Color, char *pIndexBufferOffset, const vec2 &Offset, const vec2 &Scale, uint32_t DrawNum) override | CGraphics_Threaded | virtual |
| RenderQuadContainer(int ContainerIndex, int QuadDrawNum) override | CGraphics_Threaded | virtual |
| RenderQuadContainer(int ContainerIndex, int QuadOffset, int QuadDrawNum, bool ChangeWrapMode=true) override | CGraphics_Threaded | virtual |
| RenderQuadContainerAsSprite(int ContainerIndex, int QuadOffset, float X, float Y, float ScaleX=1.f, float ScaleY=1.f) override | CGraphics_Threaded | virtual |
| RenderQuadContainerAsSpriteMultiple(int ContainerIndex, int QuadOffset, int DrawCount, SRenderSpriteInfo *pRenderInfo) override | CGraphics_Threaded | virtual |
| RenderQuadContainerEx(int ContainerIndex, int QuadOffset, int QuadDrawNum, float X, float Y, float ScaleX=1.f, float ScaleY=1.f) override | CGraphics_Threaded | virtual |
| RenderQuadLayer(int BufferContainerIndex, SQuadRenderInfo *pQuadInfo, size_t QuadNum, int QuadOffset, bool Grouped=false) override | CGraphics_Threaded | virtual |
| RenderText(int BufferContainerIndex, int TextQuadNum, int TextureSize, int TextureTextIndex, int TextureTextOutlineIndex, const ColorRGBA &TextColor, const ColorRGBA &TextOutlineColor) override | CGraphics_Threaded | virtual |
| RenderTileLayer(int BufferContainerIndex, const ColorRGBA &Color, char **pOffsets, unsigned int *pIndicedVertexDrawNum, size_t NumIndicesOffset) override | CGraphics_Threaded | virtual |
| Resize(int w, int h, int RefreshRate) override | CGraphics_Threaded | virtual |
| ResizeToScreen() override | CGraphics_Threaded | virtual |
| Rotate(const CCommandBuffer::SPoint &Center, TName *pPoints, int NumPoints) | CGraphics_Threaded | inlineprivate |
| ScreenAspect() const | IGraphics | inline |
| ScreenHeight() const | IGraphics | inline |
| ScreenHiDPIScale() const | IGraphics | inline |
| ScreenshotDirect(bool *pSwapped) | CGraphics_Threaded | private |
| ScreenWidth() const | IGraphics | inline |
| SelectSprite(const CDataSprite *pSprite, int Flags) | CGraphics_Threaded | protected |
| SelectSprite(int Id, int Flags=0) override | CGraphics_Threaded | virtual |
| SelectSprite7(int Id, int Flags=0) override | CGraphics_Threaded | virtual |
| SetColor(TName *pVertex, int ColorIndex) | CGraphics_Threaded | inline |
| SetColor(float r, float g, float b, float a) override | CGraphics_Threaded | virtual |
| SetColor(ColorRGBA Color) override | CGraphics_Threaded | virtual |
| SetColor4(ColorRGBA TopLeft, ColorRGBA TopRight, ColorRGBA BottomLeft, ColorRGBA BottomRight) override | CGraphics_Threaded | virtual |
| SetColorVertex(const CColorVertex *pArray, size_t Num) override | CGraphics_Threaded | virtual |
| SetMultiSampling(uint32_t ReqMultiSamplingCount, uint32_t &MultiSamplingCountBackend) override | CGraphics_Threaded | virtual |
| SetVSync(bool State) override | CGraphics_Threaded | virtual |
| SetWindowGrab(bool Grab) override | CGraphics_Threaded | virtual |
| SetWindowParams(int FullscreenMode, bool IsBorderless) override | CGraphics_Threaded | virtual |
| SetWindowScreen(int Index, bool MoveToCenter) override | CGraphics_Threaded | virtual |
| ShowMessageBox(const CMessageBox &MessageBox) override | CGraphics_Threaded | virtual |
| Shutdown() override | CGraphics_Threaded | virtual |
| SPRITE_FLAG_FLIP_X enum value | IGraphics | |
| SPRITE_FLAG_FLIP_Y enum value | IGraphics | |
| StagingMemoryUsage() const override | CGraphics_Threaded | virtual |
| StreamedMemoryUsage() const override | CGraphics_Threaded | virtual |
| Swap() override | CGraphics_Threaded | virtual |
| SwitchWindowScreen(int Index, bool MoveToCenter) override | CGraphics_Threaded | virtual |
| TakeCustomScreenshot(const char *pFilename) override | CGraphics_Threaded | virtual |
| TakeScreenshot(const char *pFilename) override | CGraphics_Threaded | virtual |
| TEXLOAD_NO_2D_TEXTURE enum value | IGraphics | |
| TEXLOAD_TO_2D_ARRAY_TEXTURE enum value | IGraphics | |
| TEXLOAD_TO_3D_TEXTURE enum value | IGraphics | |
| TextureClear() | IGraphics | inline |
| TextureMemoryUsage() const override | CGraphics_Threaded | virtual |
| TextureSet(CTextureHandle TextureId) override | CGraphics_Threaded | virtual |
| TrianglesBegin() override | CGraphics_Threaded | virtual |
| TrianglesEnd() override | CGraphics_Threaded | virtual |
| UnloadTextTextures(CTextureHandle &TextTexture, CTextureHandle &TextOutlineTexture) override | CGraphics_Threaded | virtual |
| UnloadTexture(IGraphics::CTextureHandle *pIndex) override | CGraphics_Threaded | virtual |
| UpdateBufferContainerInternal(int ContainerIndex, SBufferContainerInfo *pContainerInfo) | CGraphics_Threaded | |
| UpdateBufferObjectInternal(int BufferIndex, size_t UploadDataSize, void *pUploadData, void *pOffset, bool IsMovedPointer=false) | CGraphics_Threaded | |
| UpdateTextTexture(CTextureHandle TextureId, int x, int y, size_t Width, size_t Height, uint8_t *pData, bool IsMovedPointer) override | CGraphics_Threaded | virtual |
| UpdateViewport(int X, int Y, int W, int H, bool ByResize) override | CGraphics_Threaded | virtual |
| Uses2DTextureArrays() override | CGraphics_Threaded | inlinevirtual |
| WaitForIdle() override | CGraphics_Threaded | virtual |
| WarnPngliteIncompatibleImages(bool Warn) override | CGraphics_Threaded | virtual |
| WindowActive() override | CGraphics_Threaded | virtual |
| WindowCreateNtf(uint32_t WindowId) override | CGraphics_Threaded | virtual |
| WindowDestroyNtf(uint32_t WindowId) override | CGraphics_Threaded | virtual |
| WindowHeight() const | IGraphics | inline |
| WindowOpen() override | CGraphics_Threaded | virtual |
| WindowWidth() const | IGraphics | inline |
| WrapClamp() override | CGraphics_Threaded | virtual |
| WrapNormal() override | CGraphics_Threaded | virtual |
| ~IInterface()=default | IInterface | virtual |