blob: 693c937231528b47c9170a8c0e843b75c9bd9eec [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef FLUTTER_SHELL_PLATFORM_LINUX_FL_VIEW_PRIVATE_H_
#define FLUTTER_SHELL_PLATFORM_LINUX_FL_VIEW_PRIVATE_H_
#include "flutter/shell/platform/linux/public/flutter_linux/fl_view.h"
#include "flutter/shell/platform/linux/fl_gl_area.h"
/**
* fl_view_begin_frame:
* @view: an #FlView.
*
* Reset children of #FlView a stacked #GtkContainer.
* This function is always paired with fl_view_end_frame.
*/
void fl_view_begin_frame(FlView* view);
/**
* fl_view_add_gl_area:
* @view: an #FlView.
* @context: (transfer full): a #GdkGLContext, for #FlGLArea to render.
* @texture: (transfer full): texture for OpenGL area to render.
*
* Append an #FlGLArea at top of stacked children of #FlView.
* This function must be called after fl_view_begin_frame, and
* before fl_view_end_frame.
*/
void fl_view_add_gl_area(FlView* view,
GdkGLContext* context,
FlBackingStoreProvider* texture);
/**
* fl_view_add_widget:
* @view: an #FlView.
* @widget: a #GtkWidget.
* @geometry: geometry of the widget.
*
* Append a #GtkWidget at top of stacked children of #FlView.
*/
void fl_view_add_widget(FlView* view,
GtkWidget* widget,
GdkRectangle* geometry);
/**
* fl_view_end_frame:
* @view: an #FlView.
*
* Apply changes made by fl_view_add_gl_area and fl_view_add_widget.
*/
void fl_view_end_frame(FlView* view);
#endif // FLUTTER_SHELL_PLATFORM_LINUX_FL_VIEW_PRIVATE_H_