droid_wrap::android::view

Trait SurfaceHolder_Callback

Source
pub trait SurfaceHolder_Callback:
    JObjRef
    + JObjNew
    + PartialEq
    + Debug {
    const CLASS: &'static str = "android/view/SurfaceHolder$Callback";
    const OBJECT_SIG: &'static str = "Landroid/view/SurfaceHolder$Callback;";
    const DIM: u8 = 0u8;

    // Required methods
    fn surface_created<SH: SurfaceHolder>(&self, holder: &SH);
    fn surface_changed<SH: SurfaceHolder>(
        &self,
        holder: &SH,
        format: i32,
        width: i32,
        height: i32,
    );
    fn surface_destroyed<SH: SurfaceHolder>(&self, holder: &SH);
}
Expand description

客户端可以实现此接口来接收有关表面更改的信息。与 SurfaceView 一起使用时,被保留的 Surface 仅在调用 surfaceCreated(SurfaceHolder) 和 surfaceDestroyed(SurfaceHolder) 之间可用。 回调使用 SurfaceHolder.addCallback 方法设置。

Provided Associated Constants§

Source

const CLASS: &'static str = "android/view/SurfaceHolder$Callback"

android/view/SurfaceHolder$Callback

Source

const OBJECT_SIG: &'static str = "Landroid/view/SurfaceHolder$Callback;"

Landroid/view/SurfaceHolder$Callback;

Source

const DIM: u8 = 0u8

数组维度

Required Methods§

Source

fn surface_created<SH: SurfaceHolder>(&self, holder: &SH)

首次创建表面后会立即调用此方法。此方法的实现应启动所需的任何渲染代码。 请注意,只有一个线程可以绘制到 Surface 中,因此如果您的正常渲染将在另一个线程中进行,则不应在此处绘制到 Surface 中。 holder – 正在创建其表面的 SurfaceHolder。

Source

fn surface_changed<SH: SurfaceHolder>( &self, holder: &SH, format: i32, width: i32, height: i32, )

在对表面进行任何结构更改(格式或大小)后,会立即调用此方法。此时,您应该更新表面中的图像。在 SurfaceCreated 之后,此方法始终至少调用一次。 holder 表面已更改的 SurfaceHolder。 format 表面的新 PixelFormat。 width 表面的新宽度。 height 表面的新高度。

Source

fn surface_destroyed<SH: SurfaceHolder>(&self, holder: &SH)

在表面被销毁之前立即调用此函数。从此调用返回后,您不应再尝试访问此表面。 如果您有一个直接访问表面的渲染线程,则必须确保在从此函数返回之前该线程不再接触表面。 holder – 正在销毁其表面的 SurfaceHolder。

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§