DrawGlInfo.h revision 08aa2cbd5e62e7ca140f78f8bea0477a19880fd9
108aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy/* 208aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * Copyright (C) 2011 The Android Open Source Project 308aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * 408aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * Licensed under the Apache License, Version 2.0 (the "License"); 508aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * you may not use this file except in compliance with the License. 608aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * You may obtain a copy of the License at 708aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * 808aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * http://www.apache.org/licenses/LICENSE-2.0 908aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * 1008aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * Unless required by applicable law or agreed to in writing, software 1108aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * distributed under the License is distributed on an "AS IS" BASIS, 1208aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1308aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * See the License for the specific language governing permissions and 1408aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * limitations under the License. 1508aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy */ 1608aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy 1708aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy#ifndef ANDROID_HWUI_DRAW_GL_INFO_H 1808aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy#define ANDROID_HWUI_DRAW_GL_INFO_H 1908aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy 2008aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guynamespace android { 2108aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guynamespace uirenderer { 2208aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy 2308aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy/** 2408aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * Structure used by OpenGLRenderer::callDrawGLFunction() to pass and 2508aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy * receive data from OpenGL functors. 2608aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy */ 2708aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guystruct DrawGlInfo { 2808aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy // Input: current clip rect 2908aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy int clipLeft; 3008aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy int clipTop; 3108aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy int clipRight; 3208aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy int clipBottom; 3308aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy 3408aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy // Input: is the render target an FBO 3508aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy bool isLayer; 3608aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy 3708aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy // Input: current transform matrix, in OpenGL format 3808aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy float transform[16]; 3908aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy 4008aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy // Output: dirty region to redraw 4108aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy float dirtyLeft; 4208aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy float dirtyTop; 4308aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy float dirtyRight; 4408aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy float dirtyBottom; 4508aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy}; // struct DrawGlInfo 4608aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy 4708aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy}; // namespace uirenderer 4808aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy}; // namespace android 4908aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy 5008aa2cbd5e62e7ca140f78f8bea0477a19880fd9Romain Guy#endif // ANDROID_HWUI_DRAW_GL_INFO_H 51