diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/android_runtime/android_view_Surface.h | 42 | ||||
-rw-r--r-- | include/androidfw/AssetManager.h | 2 | ||||
-rw-r--r-- | include/androidfw/ResourceTypes.h | 8 | ||||
-rw-r--r-- | include/private/graphics/Canvas.h | 143 |
4 files changed, 47 insertions, 148 deletions
diff --git a/include/android_runtime/android_view_Surface.h b/include/android_runtime/android_view_Surface.h index 53e8b49..a6836a8 100644 --- a/include/android_runtime/android_view_Surface.h +++ b/include/android_runtime/android_view_Surface.h @@ -26,6 +26,33 @@ namespace android { class Surface; class IGraphicBufferProducer; +/** + * Enum mirroring the public API definitions for image and pixel formats. + * Some of these are hidden in the public API + * + * Keep up to date with android.graphics.ImageFormat and + * android.graphics.PixelFormat + */ +enum class PublicFormat { + UNKNOWN = 0x0, + RGBA_8888 = 0x1, + RGBX_8888 = 0x2, + RGB_888 = 0x3, + RGB_565 = 0x4, + NV16 = 0x10, + NV21 = 0x11, + YUY2 = 0x14, + RAW_SENSOR = 0x20, + YUV_420_888 = 0x23, + RAW10 = 0x25, + JPEG = 0x100, + DEPTH_POINT_CLOUD = 0x101, + YV12 = 0x32315659, + Y8 = 0x20203859, // @hide + Y16 = 0x20363159, // @hide + DEPTH16 = 0x44363159 +}; + /* Gets the underlying ANativeWindow for a Surface. */ extern sp<ANativeWindow> android_view_Surface_getNativeWindow( JNIEnv* env, jobject surfaceObj); @@ -40,6 +67,21 @@ extern sp<Surface> android_view_Surface_getSurface(JNIEnv* env, jobject surfaceO extern jobject android_view_Surface_createFromIGraphicBufferProducer(JNIEnv* env, const sp<IGraphicBufferProducer>& bufferProducer); +/* Convert from android.graphics.ImageFormat/PixelFormat enums to graphics.h HAL + * format */ +extern int android_view_Surface_mapPublicFormatToHalFormat(PublicFormat f); + +/* Convert from android.graphics.ImageFormat/PixelFormat enums to graphics.h HAL + * dataspace */ +extern android_dataspace android_view_Surface_mapPublicFormatToHalDataspace( + PublicFormat f); + +/* Convert from HAL format, dataspace pair to + * android.graphics.ImageFormat/PixelFormat. + * For unknown/unspecified pairs, returns PublicFormat::UNKNOWN */ +extern PublicFormat android_view_Surface_mapHalFormatDataspaceToPublicFormat( + int format, android_dataspace dataSpace); + } // namespace android #endif // _ANDROID_VIEW_SURFACE_H diff --git a/include/androidfw/AssetManager.h b/include/androidfw/AssetManager.h index 99b3195..0cfd2b1 100644 --- a/include/androidfw/AssetManager.h +++ b/include/androidfw/AssetManager.h @@ -236,9 +236,11 @@ public: private: struct asset_path { + asset_path() : path(""), type(kFileTypeRegular), idmap(""), isSystemOverlay(false) {} String8 path; FileType type; String8 idmap; + bool isSystemOverlay; }; Asset* openInPathLocked(const char* fileName, AccessMode mode, diff --git a/include/androidfw/ResourceTypes.h b/include/androidfw/ResourceTypes.h index bf993f4..8673219 100644 --- a/include/androidfw/ResourceTypes.h +++ b/include/androidfw/ResourceTypes.h @@ -247,8 +247,8 @@ enum { #define Res_MAKEINTERNAL(entry) (0x01000000 | (entry&0xFFFF)) #define Res_MAKEARRAY(entry) (0x02000000 | (entry&0xFFFF)) -#define Res_MAXPACKAGE 255 -#define Res_MAXTYPE 255 +static const size_t Res_MAXPACKAGE = 255; +static const size_t Res_MAXTYPE = 255; /** * Representation of a value in a resource, supplying type @@ -1793,9 +1793,7 @@ public: const char* targetPath, const char* overlayPath, void** outData, size_t* outSize) const; - enum { - IDMAP_HEADER_SIZE_BYTES = 4 * sizeof(uint32_t) + 2 * 256, - }; + static const size_t IDMAP_HEADER_SIZE_BYTES = 4 * sizeof(uint32_t) + 2 * 256; // Retrieve idmap meta-data. // diff --git a/include/private/graphics/Canvas.h b/include/private/graphics/Canvas.h deleted file mode 100644 index 3cd57f4..0000000 --- a/include/private/graphics/Canvas.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (C) 2014 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ANDROID_GRAPHICS_CANVAS_H -#define ANDROID_GRAPHICS_CANVAS_H - -#include "SkBitmap.h" -#include "SkCanvas.h" -#include "SkMatrix.h" - -namespace android { - -class Canvas { -public: - virtual ~Canvas() {}; - - static Canvas* create_canvas(SkBitmap* bitmap); - static Canvas* create_canvas(SkCanvas* skiaCanvas); - - // TODO: enable HWUI to either create similar canvas wrapper or subclass - // directly from Canvas - //static Canvas* create_canvas(uirenderer::Renderer* renderer); - - // TODO: this is a temporary affordance until all necessary logic can be - // moved within this interface! Further, the return value should - // NOT be unref'd and is valid until this canvas is destroyed or a - // new bitmap is set. - virtual SkCanvas* getSkCanvas() = 0; - - virtual void setBitmap(SkBitmap* bitmap, bool copyState) = 0; - - virtual bool isOpaque() = 0; - virtual int width() = 0; - virtual int height() = 0; - -// ---------------------------------------------------------------------------- -// Canvas state operations -// ---------------------------------------------------------------------------- - // Save (layer) - virtual int getSaveCount() const = 0; - virtual int save(SkCanvas::SaveFlags flags) = 0; - virtual void restore() = 0; - virtual void restoreToCount(int saveCount) = 0; - - virtual int saveLayer(float left, float top, float right, float bottom, - const SkPaint* paint, SkCanvas::SaveFlags flags) = 0; - virtual int saveLayerAlpha(float left, float top, float right, float bottom, - int alpha, SkCanvas::SaveFlags flags) = 0; - - // Matrix - virtual void getMatrix(SkMatrix* outMatrix) const = 0; - virtual void setMatrix(const SkMatrix& matrix) = 0; - - virtual void concat(const SkMatrix& matrix) = 0; - virtual void rotate(float degrees) = 0; - virtual void scale(float sx, float sy) = 0; - virtual void skew(float sx, float sy) = 0; - virtual void translate(float dx, float dy) = 0; - - // clip - virtual bool getClipBounds(SkRect* outRect) const = 0; - virtual bool quickRejectRect(float left, float top, float right, float bottom) const = 0; - virtual bool quickRejectPath(const SkPath& path) const = 0; - - virtual bool clipRect(float left, float top, float right, float bottom, SkRegion::Op op) = 0; - virtual bool clipPath(const SkPath* path, SkRegion::Op op) = 0; - virtual bool clipRegion(const SkRegion* region, SkRegion::Op op) = 0; - - // filters - virtual SkDrawFilter* getDrawFilter() = 0; - virtual void setDrawFilter(SkDrawFilter* drawFilter) = 0; - -// ---------------------------------------------------------------------------- -// Canvas draw operations -// ---------------------------------------------------------------------------- - virtual void drawColor(int color, SkXfermode::Mode mode) = 0; - virtual void drawPaint(const SkPaint& paint) = 0; - - // Geometry - virtual void drawPoint(float x, float y, const SkPaint& paint) = 0; - virtual void drawPoints(const float* points, int count, const SkPaint& paint) = 0; - virtual void drawLine(float startX, float startY, float stopX, float stopY, - const SkPaint& paint) = 0; - virtual void drawLines(const float* points, int count, const SkPaint& paint) = 0; - virtual void drawRect(float left, float top, float right, float bottom, - const SkPaint& paint) = 0; - virtual void drawRoundRect(float left, float top, float right, float bottom, - float rx, float ry, const SkPaint& paint) = 0; - virtual void drawCircle(float x, float y, float radius, const SkPaint& paint) = 0; - virtual void drawOval(float left, float top, float right, float bottom, - const SkPaint& paint) = 0; - virtual void drawArc(float left, float top, float right, float bottom, - float startAngle, float sweepAngle, bool useCenter, const SkPaint& paint) = 0; - virtual void drawPath(const SkPath& path, const SkPaint& paint) = 0; - virtual void drawVertices(SkCanvas::VertexMode vertexMode, int vertexCount, - const float* verts, const float* tex, const int* colors, - const uint16_t* indices, int indexCount, const SkPaint& paint) = 0; - - // Bitmap-based - virtual void drawBitmap(const SkBitmap& bitmap, float left, float top, - const SkPaint* paint) = 0; - virtual void drawBitmap(const SkBitmap& bitmap, const SkMatrix& matrix, - const SkPaint* paint) = 0; - virtual void drawBitmap(const SkBitmap& bitmap, float srcLeft, float srcTop, - float srcRight, float srcBottom, float dstLeft, float dstTop, - float dstRight, float dstBottom, const SkPaint* paint) = 0; - virtual void drawBitmapMesh(const SkBitmap& bitmap, int meshWidth, int meshHeight, - const float* vertices, const int* colors, const SkPaint* paint) = 0; - - // Text - virtual void drawText(const uint16_t* text, const float* positions, int count, - const SkPaint& paint, float x, float y, - float boundsLeft, float boundsTop, float boundsRight, float boundsBottom) = 0; - virtual void drawPosText(const uint16_t* text, const float* positions, int count, - int posCount, const SkPaint& paint) = 0; - virtual void drawTextOnPath(const uint16_t* glyphs, int count, const SkPath& path, - float hOffset, float vOffset, const SkPaint& paint) = 0; - - /* - * Specifies if the positions passed to ::drawText are absolute or relative - * to the (x,y) value provided. - * - * If true the (x,y) values are ignored. Otherwise, those (x,y) values need - * to be added to each glyph's position to get its absolute position. - */ - virtual bool drawTextAbsolutePos() const = 0; -}; - -}; // namespace android -#endif // ANDROID_GRAPHICS_CANVAS_H |