@@ -13910,6 +13910,325 @@ extern "C" {
1391013910}
1391113911#[repr(C)]
1391213912#[derive(Debug, Copy, Clone)]
13913+ pub struct ASurfaceControl {
13914+ _unused: [u8; 0],
13915+ }
13916+ extern "C" {
13917+ pub fn ASurfaceControl_createFromWindow(
13918+ parent: *mut ANativeWindow,
13919+ debug_name: *const ::std::os::raw::c_char,
13920+ ) -> *mut ASurfaceControl;
13921+ }
13922+ extern "C" {
13923+ pub fn ASurfaceControl_create(
13924+ parent: *mut ASurfaceControl,
13925+ debug_name: *const ::std::os::raw::c_char,
13926+ ) -> *mut ASurfaceControl;
13927+ }
13928+ extern "C" {
13929+ pub fn ASurfaceControl_acquire(surface_control: *mut ASurfaceControl);
13930+ }
13931+ extern "C" {
13932+ pub fn ASurfaceControl_release(surface_control: *mut ASurfaceControl);
13933+ }
13934+ #[repr(C)]
13935+ #[derive(Debug, Copy, Clone)]
13936+ pub struct ASurfaceTransaction {
13937+ _unused: [u8; 0],
13938+ }
13939+ extern "C" {
13940+ pub fn ASurfaceTransaction_create() -> *mut ASurfaceTransaction;
13941+ }
13942+ extern "C" {
13943+ pub fn ASurfaceTransaction_delete(transaction: *mut ASurfaceTransaction);
13944+ }
13945+ extern "C" {
13946+ pub fn ASurfaceTransaction_apply(transaction: *mut ASurfaceTransaction);
13947+ }
13948+ #[repr(C)]
13949+ #[derive(Debug, Copy, Clone)]
13950+ pub struct ASurfaceTransactionStats {
13951+ _unused: [u8; 0],
13952+ }
13953+ pub type ASurfaceTransaction_OnComplete = ::std::option::Option<
13954+ unsafe extern "C" fn(
13955+ context: *mut ::std::os::raw::c_void,
13956+ stats: *mut ASurfaceTransactionStats,
13957+ ),
13958+ >;
13959+ pub type ASurfaceTransaction_OnCommit = ::std::option::Option<
13960+ unsafe extern "C" fn(
13961+ context: *mut ::std::os::raw::c_void,
13962+ stats: *mut ASurfaceTransactionStats,
13963+ ),
13964+ >;
13965+ extern "C" {
13966+ pub fn ASurfaceTransactionStats_getLatchTime(
13967+ surface_transaction_stats: *mut ASurfaceTransactionStats,
13968+ ) -> i64;
13969+ }
13970+ extern "C" {
13971+ pub fn ASurfaceTransactionStats_getPresentFenceFd(
13972+ surface_transaction_stats: *mut ASurfaceTransactionStats,
13973+ ) -> ::std::os::raw::c_int;
13974+ }
13975+ extern "C" {
13976+ pub fn ASurfaceTransactionStats_getASurfaceControls(
13977+ surface_transaction_stats: *mut ASurfaceTransactionStats,
13978+ outASurfaceControls: *mut *mut *mut ASurfaceControl,
13979+ outASurfaceControlsSize: *mut usize,
13980+ );
13981+ }
13982+ extern "C" {
13983+ pub fn ASurfaceTransactionStats_releaseASurfaceControls(
13984+ surface_controls: *mut *mut ASurfaceControl,
13985+ );
13986+ }
13987+ extern "C" {
13988+ pub fn ASurfaceTransactionStats_getAcquireTime(
13989+ surface_transaction_stats: *mut ASurfaceTransactionStats,
13990+ surface_control: *mut ASurfaceControl,
13991+ ) -> i64;
13992+ }
13993+ extern "C" {
13994+ pub fn ASurfaceTransactionStats_getPreviousReleaseFenceFd(
13995+ surface_transaction_stats: *mut ASurfaceTransactionStats,
13996+ surface_control: *mut ASurfaceControl,
13997+ ) -> ::std::os::raw::c_int;
13998+ }
13999+ extern "C" {
14000+ pub fn ASurfaceTransaction_setOnComplete(
14001+ transaction: *mut ASurfaceTransaction,
14002+ context: *mut ::std::os::raw::c_void,
14003+ func: ASurfaceTransaction_OnComplete,
14004+ );
14005+ }
14006+ extern "C" {
14007+ pub fn ASurfaceTransaction_setOnCommit(
14008+ transaction: *mut ASurfaceTransaction,
14009+ context: *mut ::std::os::raw::c_void,
14010+ func: ASurfaceTransaction_OnCommit,
14011+ );
14012+ }
14013+ extern "C" {
14014+ pub fn ASurfaceTransaction_reparent(
14015+ transaction: *mut ASurfaceTransaction,
14016+ surface_control: *mut ASurfaceControl,
14017+ new_parent: *mut ASurfaceControl,
14018+ );
14019+ }
14020+ impl ASurfaceTransactionVisibility {
14021+ pub const ASURFACE_TRANSACTION_VISIBILITY_HIDE: ASurfaceTransactionVisibility =
14022+ ASurfaceTransactionVisibility(0);
14023+ }
14024+ impl ASurfaceTransactionVisibility {
14025+ pub const ASURFACE_TRANSACTION_VISIBILITY_SHOW: ASurfaceTransactionVisibility =
14026+ ASurfaceTransactionVisibility(1);
14027+ }
14028+ #[repr(transparent)]
14029+ #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
14030+ pub struct ASurfaceTransactionVisibility(pub i8);
14031+ extern "C" {
14032+ pub fn ASurfaceTransaction_setVisibility(
14033+ transaction: *mut ASurfaceTransaction,
14034+ surface_control: *mut ASurfaceControl,
14035+ visibility: ASurfaceTransactionVisibility,
14036+ );
14037+ }
14038+ extern "C" {
14039+ pub fn ASurfaceTransaction_setZOrder(
14040+ transaction: *mut ASurfaceTransaction,
14041+ surface_control: *mut ASurfaceControl,
14042+ z_order: i32,
14043+ );
14044+ }
14045+ extern "C" {
14046+ pub fn ASurfaceTransaction_setBuffer(
14047+ transaction: *mut ASurfaceTransaction,
14048+ surface_control: *mut ASurfaceControl,
14049+ buffer: *mut AHardwareBuffer,
14050+ acquire_fence_fd: ::std::os::raw::c_int,
14051+ );
14052+ }
14053+ extern "C" {
14054+ pub fn ASurfaceTransaction_setColor(
14055+ transaction: *mut ASurfaceTransaction,
14056+ surface_control: *mut ASurfaceControl,
14057+ r: f32,
14058+ g: f32,
14059+ b: f32,
14060+ alpha: f32,
14061+ dataspace: ADataSpace,
14062+ );
14063+ }
14064+ extern "C" {
14065+ pub fn ASurfaceTransaction_setGeometry(
14066+ transaction: *mut ASurfaceTransaction,
14067+ surface_control: *mut ASurfaceControl,
14068+ source: *const ARect,
14069+ destination: *const ARect,
14070+ transform: i32,
14071+ );
14072+ }
14073+ extern "C" {
14074+ pub fn ASurfaceTransaction_setCrop(
14075+ transaction: *mut ASurfaceTransaction,
14076+ surface_control: *mut ASurfaceControl,
14077+ crop: *const ARect,
14078+ );
14079+ }
14080+ extern "C" {
14081+ pub fn ASurfaceTransaction_setPosition(
14082+ transaction: *mut ASurfaceTransaction,
14083+ surface_control: *mut ASurfaceControl,
14084+ x: i32,
14085+ y: i32,
14086+ );
14087+ }
14088+ extern "C" {
14089+ pub fn ASurfaceTransaction_setBufferTransform(
14090+ transaction: *mut ASurfaceTransaction,
14091+ surface_control: *mut ASurfaceControl,
14092+ transform: i32,
14093+ );
14094+ }
14095+ extern "C" {
14096+ pub fn ASurfaceTransaction_setScale(
14097+ transaction: *mut ASurfaceTransaction,
14098+ surface_control: *mut ASurfaceControl,
14099+ xScale: f32,
14100+ yScale: f32,
14101+ );
14102+ }
14103+ impl ASurfaceTransactionTransparency {
14104+ pub const ASURFACE_TRANSACTION_TRANSPARENCY_TRANSPARENT: ASurfaceTransactionTransparency =
14105+ ASurfaceTransactionTransparency(0);
14106+ }
14107+ impl ASurfaceTransactionTransparency {
14108+ pub const ASURFACE_TRANSACTION_TRANSPARENCY_TRANSLUCENT: ASurfaceTransactionTransparency =
14109+ ASurfaceTransactionTransparency(1);
14110+ }
14111+ impl ASurfaceTransactionTransparency {
14112+ pub const ASURFACE_TRANSACTION_TRANSPARENCY_OPAQUE: ASurfaceTransactionTransparency =
14113+ ASurfaceTransactionTransparency(2);
14114+ }
14115+ #[repr(transparent)]
14116+ #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
14117+ pub struct ASurfaceTransactionTransparency(pub i8);
14118+ extern "C" {
14119+ pub fn ASurfaceTransaction_setBufferTransparency(
14120+ transaction: *mut ASurfaceTransaction,
14121+ surface_control: *mut ASurfaceControl,
14122+ transparency: ASurfaceTransactionTransparency,
14123+ );
14124+ }
14125+ extern "C" {
14126+ pub fn ASurfaceTransaction_setDamageRegion(
14127+ transaction: *mut ASurfaceTransaction,
14128+ surface_control: *mut ASurfaceControl,
14129+ rects: *const ARect,
14130+ count: u32,
14131+ );
14132+ }
14133+ extern "C" {
14134+ pub fn ASurfaceTransaction_setDesiredPresentTime(
14135+ transaction: *mut ASurfaceTransaction,
14136+ desiredPresentTime: i64,
14137+ );
14138+ }
14139+ extern "C" {
14140+ pub fn ASurfaceTransaction_setBufferAlpha(
14141+ transaction: *mut ASurfaceTransaction,
14142+ surface_control: *mut ASurfaceControl,
14143+ alpha: f32,
14144+ );
14145+ }
14146+ extern "C" {
14147+ pub fn ASurfaceTransaction_setBufferDataSpace(
14148+ transaction: *mut ASurfaceTransaction,
14149+ surface_control: *mut ASurfaceControl,
14150+ data_space: ADataSpace,
14151+ );
14152+ }
14153+ extern "C" {
14154+ pub fn ASurfaceTransaction_setHdrMetadata_smpte2086(
14155+ transaction: *mut ASurfaceTransaction,
14156+ surface_control: *mut ASurfaceControl,
14157+ metadata: *mut AHdrMetadata_smpte2086,
14158+ );
14159+ }
14160+ extern "C" {
14161+ pub fn ASurfaceTransaction_setHdrMetadata_cta861_3(
14162+ transaction: *mut ASurfaceTransaction,
14163+ surface_control: *mut ASurfaceControl,
14164+ metadata: *mut AHdrMetadata_cta861_3,
14165+ );
14166+ }
14167+ extern "C" {
14168+ pub fn ASurfaceTransaction_setExtendedRangeBrightness(
14169+ transaction: *mut ASurfaceTransaction,
14170+ surface_control: *mut ASurfaceControl,
14171+ currentBufferRatio: f32,
14172+ desiredRatio: f32,
14173+ );
14174+ }
14175+ extern "C" {
14176+ pub fn ASurfaceTransaction_setDesiredHdrHeadroom(
14177+ transaction: *mut ASurfaceTransaction,
14178+ surface_control: *mut ASurfaceControl,
14179+ desiredHeadroom: f32,
14180+ );
14181+ }
14182+ extern "C" {
14183+ pub fn ASurfaceTransaction_setFrameRate(
14184+ transaction: *mut ASurfaceTransaction,
14185+ surface_control: *mut ASurfaceControl,
14186+ frameRate: f32,
14187+ compatibility: i8,
14188+ );
14189+ }
14190+ extern "C" {
14191+ pub fn ASurfaceTransaction_setFrameRateWithChangeStrategy(
14192+ transaction: *mut ASurfaceTransaction,
14193+ surface_control: *mut ASurfaceControl,
14194+ frameRate: f32,
14195+ compatibility: i8,
14196+ changeFrameRateStrategy: i8,
14197+ );
14198+ }
14199+ extern "C" {
14200+ pub fn ASurfaceTransaction_clearFrameRate(
14201+ transaction: *mut ASurfaceTransaction,
14202+ surface_control: *mut ASurfaceControl,
14203+ );
14204+ }
14205+ extern "C" {
14206+ pub fn ASurfaceTransaction_setEnableBackPressure(
14207+ transaction: *mut ASurfaceTransaction,
14208+ surface_control: *mut ASurfaceControl,
14209+ enableBackPressure: bool,
14210+ );
14211+ }
14212+ extern "C" {
14213+ pub fn ASurfaceTransaction_setFrameTimeline(
14214+ transaction: *mut ASurfaceTransaction,
14215+ vsyncId: AVsyncId,
14216+ );
14217+ }
14218+ extern "C" {
14219+ pub fn ASurfaceControl_fromJava(
14220+ env: *mut JNIEnv,
14221+ surfaceControlObj: jobject,
14222+ ) -> *mut ASurfaceControl;
14223+ }
14224+ extern "C" {
14225+ pub fn ASurfaceTransaction_fromJava(
14226+ env: *mut JNIEnv,
14227+ transactionObj: jobject,
14228+ ) -> *mut ASurfaceTransaction;
14229+ }
14230+ #[repr(C)]
14231+ #[derive(Debug, Copy, Clone)]
1391314232pub struct ASurfaceTexture {
1391414233 _unused: [u8; 0],
1391514234}
0 commit comments