Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
WindowSurface Class Referencefinal

#include <Surface.h>

Inheritance diagram for WindowSurface:
Surface SkRefCnt SkRefCntBase

Public Member Functions

 WindowSurface (ANativeWindow *win, std::unique_ptr< skwindow::WindowContext > wctx)
 
- Public Member Functions inherited from Surface
int width () const
 
int height () const
 
sk_sp< SkImagemakeImageSnapshot () const
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 

Private Member Functions

void release (JNIEnv *env) override
 
SkCanvasgetCanvas () override
 
void flushAndSubmit () override
 

Additional Inherited Members

- Protected Attributes inherited from Surface
sk_sp< SkSurfacefSurface
 

Detailed Description

Definition at line 46 of file Surface.h.

Constructor & Destructor Documentation

◆ WindowSurface()

WindowSurface::WindowSurface ( ANativeWindow win,
std::unique_ptr< skwindow::WindowContext wctx 
)

Definition at line 17 of file Surface.cpp.

18 : fWindow(win)
19 , fWindowContext(std::move(wctx))
20{
21 SkASSERT(fWindow);
22 SkASSERT(fWindowContext);
23
24 fSurface = fWindowContext->getBackbufferSurface();
25}
#define SkASSERT(cond)
Definition SkAssert.h:116
sk_sp< SkSurface > fSurface
Definition Surface.h:43

Member Function Documentation

◆ flushAndSubmit()

void WindowSurface::flushAndSubmit ( )
overrideprivatevirtual

Implements Surface.

Definition at line 39 of file Surface.cpp.

39 {
41 fWindowContext->swapBuffers();
42 fSurface = fWindowContext->getBackbufferSurface();
43}
SK_API void FlushAndSubmit(sk_sp< SkSurface >)

◆ getCanvas()

SkCanvas * WindowSurface::getCanvas ( )
overrideprivatevirtual

Implements Surface.

Definition at line 32 of file Surface.cpp.

32 {
33 if (fSurface) {
34 return fSurface->getCanvas();
35 }
36 return nullptr;
37}
SkCanvas * getCanvas()
Definition SkSurface.cpp:82

◆ release()

void WindowSurface::release ( JNIEnv *  env)
overrideprivatevirtual

Implements Surface.

Definition at line 27 of file Surface.cpp.

27 {
28 fWindowContext.reset();
29 ANativeWindow_release(fWindow);
30}

The documentation for this class was generated from the following files: