summaryrefslogtreecommitdiffstats
path: root/widget/gonk/HwcUtils.h
diff options
context:
space:
mode:
Diffstat (limited to 'widget/gonk/HwcUtils.h')
-rw-r--r--widget/gonk/HwcUtils.h135
1 files changed, 0 insertions, 135 deletions
diff --git a/widget/gonk/HwcUtils.h b/widget/gonk/HwcUtils.h
deleted file mode 100644
index 876ff8e99..000000000
--- a/widget/gonk/HwcUtils.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2013, The Linux Foundation. All rights reserved.
- *
- * 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 mozilla_HwcUtils
-#define mozilla_HwcUtils
-
-#include "Layers.h"
-#include <vector>
-#include "hardware/hwcomposer.h"
-
-namespace mozilla {
-
-namespace gfx {
-class Matrix;
-}
-
-class HwcUtils {
-public:
-
-enum {
- HWC_USE_GPU = HWC_FRAMEBUFFER,
- HWC_USE_OVERLAY = HWC_OVERLAY,
- HWC_USE_COPYBIT
-};
-
-// HWC layer flags
-enum {
- // Draw a solid color rectangle
- // The color should be set on the transform member of the hwc_layer_t struct
- // The expected format is a 32 bit ABGR with 8 bits per component
- HWC_COLOR_FILL = 0x8,
- // Swap the RB pixels of gralloc buffer, like RGBA<->BGRA or RGBX<->BGRX
- // The flag will be set inside LayerRenderState
- HWC_FORMAT_RB_SWAP = 0x40
-};
-
-typedef std::vector<hwc_rect_t> RectVector;
-
-/* Utility functions - implemented in HwcUtils.cpp */
-
-/**
- * Calculates the layer's clipping rectangle
- *
- * @param aTransform Input. A transformation matrix
- * It transforms the clip rect to screen space
- * @param aLayerClip Input. The layer's internal clipping rectangle.
- * This may be NULL which means the layer has no internal clipping
- * The origin is the top-left corner of the layer
- * @param aParentClip Input. The parent layer's rendering clipping rectangle
- * The origin is the top-left corner of the screen
- * @param aRenderClip Output. The layer's rendering clipping rectangle
- * The origin is the top-left corner of the screen
- * @return true if the layer should be rendered.
- * false if the layer can be skipped
- */
-static bool CalculateClipRect(const gfx::Matrix& aTransform,
- const nsIntRect* aLayerClip,
- nsIntRect aParentClip, nsIntRect* aRenderClip);
-
-
-/**
- * Prepares hwc layer visible region required for hwc composition
- *
- * @param aVisible Input. Layer's unclipped visible region
- * The origin is the top-left corner of the layer
- * @param aLayerTransform Input. Layer's transformation matrix
- * It transforms from layer space to screen space
- * @param aLayerBufferTransform Input. Layer buffer's transformation matrix
- * It transforms from layer buffer's space to screen space
- * @param aClip Input. A clipping rectangle.
- * The origin is the top-left corner of the screen
- * @param aBufferRect Input. The layer's buffer bounds
- * The origin is the top-left corner of the layer
- * @param aVisibleRegionScreen Output. Visible region in screen space.
- * The origin is the top-left corner of the screen
- * @param aIsVisible Output. true if region is visible
- * false if region is not visible
- * @return true if region can be rendered by HWC.
- * false if region should not be rendered by HWC
- */
-static bool PrepareVisibleRegion(const nsIntRegion& aVisible,
- const gfx::Matrix& aLayerTransform,
- const gfx::Matrix& aLayerBufferTransform,
- nsIntRect aClip, nsIntRect aBufferRect,
- RectVector* aVisibleRegionScreen,
- bool& aIsVisible);
-
-
-/**
- * Sets hwc layer rectangles required for hwc composition
- *
- * @param aVisible Input. Layer's unclipped visible rectangle
- * The origin is the top-left corner of the layer
- * @param aLayerTransform Input. Layer's transformation matrix
- * It transforms from layer space to screen space
- * @param aLayerBufferTransform Input. Layer buffer's transformation matrix
- * It transforms from layer buffer's space to screen space
- * @param aClip Input. A clipping rectangle.
- * The origin is the top-left corner of the screen
- * @param aBufferRect Input. The layer's buffer bounds
- * The origin is the top-left corner of the layer
- * @param aYFlipped Input. true if the buffer is rendered as Y flipped
- * @param aSurceCrop Output. Area of the source to consider,
- * the origin is the top-left corner of the buffer
- * @param aVisibleRegionScreen Output. Visible region in screen space.
- * The origin is the top-left corner of the screen
- * @return true if the layer should be rendered.
- * false if the layer can be skipped
- */
-static bool PrepareLayerRects(nsIntRect aVisible,
- const gfx::Matrix& aLayerTransform,
- const gfx::Matrix& aLayerBufferTransform,
- nsIntRect aClip, nsIntRect aBufferRect,
- bool aYFlipped,
- hwc_rect_t* aSourceCrop,
- hwc_rect_t* aVisibleRegionScreen);
-
-};
-
-} // namespace mozilla
-
-#endif // mozilla_HwcUtils