| /* | |
| * GPAC - Multimedia Framework C SDK | |
| * | |
| * Authors: Jean Le Feuvre | |
| * Copyright (c) Telecom ParisTech 2006-2012 | |
| * All rights reserved | |
| * | |
| * This file is part of GPAC / Scene Compositor sub-project | |
| * | |
| * GPAC is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU Lesser General Public License as published by | |
| * the Free Software Foundation; either version 2, or (at your option) | |
| * any later version. | |
| * | |
| * GPAC is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; see the file COPYING. If not, write to | |
| * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
| * | |
| */ | |
| #ifndef OFFSCREEN_CACHE_H | |
| #define OFFSCREEN_CACHE_H | |
| #include "drawable.h" | |
| typedef struct _group_cache | |
| { | |
| /*gpac texture object*/ | |
| GF_TextureHandler txh; | |
| /*drawable representing the cached group*/ | |
| Drawable *drawable; | |
| Fixed opacity; | |
| Bool force_recompute; | |
| /*user scale (zoom and AR) of the group*/ | |
| Fixed scale; | |
| SFVec2f orig_vp; | |
| } GroupCache; | |
| GroupCache *group_cache_new(GF_Compositor *compositor, GF_Node *node); | |
| void group_cache_del(GroupCache *cache); | |
| /*returns 1 if cache is being recomputed due to dirty subtree*/ | |
| Bool group_cache_traverse(GF_Node *node, GroupCache *cache, GF_TraverseState *tr_state, Bool force_recompute, Bool is_mpeg4, Bool auto_fit_vp); | |
| void group_cache_draw(GroupCache *cache, GF_TraverseState *tr_state); | |
| Fixed group_cache_check_coverage_increase(GF_Rect *ctx, GF_Rect *grp_bounds, DrawableContext *curr, DrawableContext* first_child); | |
| #endif /*OFFSCREEN_CACHE_H*/ | |