From aed1b1d16f44027d8478964b4fcb71b93f6a16e8 Mon Sep 17 00:00:00 2001 From: Sung-Ho Lee Date: Sun, 18 Jan 2015 22:16:55 +0900 Subject: [PATCH] Add STextureView (partially fix #108) --- project/AndroidClassExtractor.scala | 8 +- .../main/scala/org/scaloid/common/view.scala | 101 ++++++++++++++++++ .../src/main/st/org/scaloid/common/view.scala | 2 + 3 files changed, 106 insertions(+), 5 deletions(-) diff --git a/project/AndroidClassExtractor.scala b/project/AndroidClassExtractor.scala index d4462db..e1d975b 100644 --- a/project/AndroidClassExtractor.scala +++ b/project/AndroidClassExtractor.scala @@ -334,16 +334,14 @@ object AndroidClassExtractor extends JavaConversionHelpers { val res = clss.toList .filter(isPublic) .filter { - s.log.info("Excluding inner classes for now - let's deal with it later") - !_.getName.contains("$") + !_.getName.contains("$") // excludes inner classes for now - let's deal with it later } .filter { n => val name = n.toString !name.contains("webkit") || name.contains("WebView") // excludes android.webkit.* in Android 2.1.1, which is deprecated } - .filter { n => - val name = n.toString - !name.contains("RemoteViewsService") // excludes RemoteViewsService, because it is packaged weird place "android.view" + .filter { + !_.getName.contains("RemoteViewsService") // excludes RemoteViewsService, because it is packaged weird place "android.view" } .filter(sourceExists) .map(toAndroidClass) diff --git a/scaloid-common/src/main/scala/org/scaloid/common/view.scala b/scaloid-common/src/main/scala/org/scaloid/common/view.scala index 5ba8125..7d3748d 100644 --- a/scaloid-common/src/main/scala/org/scaloid/common/view.scala +++ b/scaloid-common/src/main/scala/org/scaloid/common/view.scala @@ -2653,6 +2653,106 @@ trait TraitViewStub[V <: android.view.ViewStub] extends TraitView[V] { } + /** + * Automatically generated enriching class of `[[https://developer.android.com/reference/android/view/TextureView.html android.view.TextureView]]`. + */ + class RichTextureView[V <: android.view.TextureView](val basis: V) extends TraitTextureView[V] + + /** + * Automatically generated helper trait of `[[https://developer.android.com/reference/android/view/TextureView.html android.view.TextureView]]`. This contains several property accessors. + */ + trait TraitTextureView[V <: android.view.TextureView] extends TraitView[V] { + + + + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#getBitmap() getBitmap()]]` + */ + @inline def bitmap = basis.getBitmap + + + @inline def opaque(implicit no: NoGetterForThisProperty): Nothing = throw new Error("Android does not support the getter for 'opaque'") + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#setOpaque(boolean) setOpaque(boolean)]]` + */ + @inline def opaque (p: Boolean) = opaque_=(p) + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#setOpaque(boolean) setOpaque(boolean)]]` + */ + @inline def opaque_=(p: Boolean) = { basis.setOpaque(p); basis } + + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#getSurfaceTexture() getSurfaceTexture()]]` + */ + @inline def surfaceTexture = basis.getSurfaceTexture + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#setSurfaceTexture(android.graphics.SurfaceTexture) setSurfaceTexture(android.graphics.SurfaceTexture)]]` + */ + @inline def surfaceTexture (p: android.graphics.SurfaceTexture) = surfaceTexture_=(p) + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#setSurfaceTexture(android.graphics.SurfaceTexture) setSurfaceTexture(android.graphics.SurfaceTexture)]]` + */ + @inline def surfaceTexture_=(p: android.graphics.SurfaceTexture) = { basis.setSurfaceTexture(p); basis } + + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#getSurfaceTextureListener() getSurfaceTextureListener()]]` + */ + @inline def surfaceTextureListener = basis.getSurfaceTextureListener + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#setSurfaceTextureListener(android.view.TextureView.SurfaceTextureListener) setSurfaceTextureListener(android.view.TextureView.SurfaceTextureListener)]]` + */ + @inline def surfaceTextureListener (p: android.view.TextureView.SurfaceTextureListener) = surfaceTextureListener_=(p) + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#setSurfaceTextureListener(android.view.TextureView.SurfaceTextureListener) setSurfaceTextureListener(android.view.TextureView.SurfaceTextureListener)]]` + */ + @inline def surfaceTextureListener_=(p: android.view.TextureView.SurfaceTextureListener) = { basis.setSurfaceTextureListener(p); basis } + + + @inline def transform(implicit no: NoGetterForThisProperty): Nothing = throw new Error("Android does not support the getter for 'transform'") + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#setTransform(android.graphics.Matrix) setTransform(android.graphics.Matrix)]]` + */ + @inline def transform (p: android.graphics.Matrix) = transform_=(p) + + /** + * Shortcut for `[[https://developer.android.com/reference/android/view/TextureView.html#setTransform(android.graphics.Matrix) setTransform(android.graphics.Matrix)]]` + */ + @inline def transform_=(p: android.graphics.Matrix) = { basis.setTransform(p); basis } + + + } + + /** + * Automatically generated concrete helper class of `[[https://developer.android.com/reference/android/view/TextureView.html android.view.TextureView]]`. + */ + class STextureView()(implicit context: android.content.Context, parentVGroup: TraitViewGroup[_] = null) + extends android.view.TextureView(context) with TraitTextureView[STextureView] { + + def basis = this + override val parentViewGroup = parentVGroup + + } + + object STextureView { + def apply[LP <: ViewGroupLayoutParams[_, STextureView]]()(implicit context: android.content.Context, defaultLayoutParam: STextureView => LP): STextureView = { + val v = new STextureView + v.<<.parent.+=(v) + v + } + + } + + trait ViewImplicits { @@ -2663,5 +2763,6 @@ trait ViewImplicits { @inline implicit def surfaceView2RichSurfaceView[V <: android.view.SurfaceView](surfaceView: V) = new RichSurfaceView[V](surfaceView) @inline implicit def viewStub2RichViewStub[V <: android.view.ViewStub](viewStub: V) = new RichViewStub[V](viewStub) @inline implicit def actionProvider2RichActionProvider[V <: android.view.ActionProvider](actionProvider: V) = new RichActionProvider[V](actionProvider) + @inline implicit def textureView2RichTextureView[V <: android.view.TextureView](textureView: V) = new RichTextureView[V](textureView) } object ViewImplicits extends ViewImplicits \ No newline at end of file diff --git a/scaloid-common/src/main/st/org/scaloid/common/view.scala b/scaloid-common/src/main/st/org/scaloid/common/view.scala index 31f00a0..4e5ca01 100644 --- a/scaloid-common/src/main/st/org/scaloid/common/view.scala +++ b/scaloid-common/src/main/st/org/scaloid/common/view.scala @@ -140,6 +140,7 @@ $wholeClassDef(android.view.SurfaceView)$ $wholeClassDef(android.view.ViewStub)$ $if(ver.gte_14)$ $wholeClassDef(android.view.ActionProvider)$ + $wholeClassDef(android.view.TextureView)$ $endif$ @@ -152,6 +153,7 @@ trait ViewImplicits { $implicitConversion(android.view.ViewStub)$ $if(ver.gte_14)$ $implicitConversion(android.view.ActionProvider)$ + $implicitConversion(android.view.TextureView)$ $endif$ } object ViewImplicits extends ViewImplicits \ No newline at end of file