Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/widget/gtk/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 2 kB image not shown  

Quelle  MozContainer.h   Sprache: C

 

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


#ifndef MOZ_CONTAINER_H_
#define MOZ_CONTAINER_H_

#ifdef MOZ_WAYLAND
#  include "mozilla/widget/MozContainerWayland.h"
#endif

#include <gtk/gtk.h>

/*
 * MozContainer
 *
 * This class serves three purposes in the nsIWidget implementation.
 *
 *   - It provides objects to receive signals from GTK for events on native
 *     windows.
 *
 *   - It provides GdkWindow to draw content on Wayland or when Gtk+ renders
 *     client side decorations to mShell.
 *
 *   - It provides a container parent for GtkEntry used for emoji selector.
 *
 * Note that the window hierarchy in Mozilla differs from conventional
 * GtkWidget hierarchies.
 *
 */


#define MOZ_CONTAINER_TYPE (moz_container_get_type())
#define MOZ_CONTAINER(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), MOZ_CONTAINER_TYPE, MozContainer))
#define MOZ_CONTAINER_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST((klass), MOZ_CONTAINER_TYPE, MozContainerClass))
#define IS_MOZ_CONTAINER(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), MOZ_CONTAINER_TYPE))
#define IS_MOZ_CONTAINER_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE((klass), MOZ_CONTAINER_TYPE))
#define MOZ_CONTAINER_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_CLASS((obj), MOZ_CONTAINER_TYPE, MozContainerClass))
#ifdef MOZ_WAYLAND
#  define MOZ_WL_CONTAINER(obj) (MOZ_CONTAINER(obj)->wl)
#  define MOZ_WL_SURFACE(obj) (MOZ_CONTAINER(obj)->wl->mSurface)
#endif

typedef struct _MozContainer MozContainer;
typedef struct _MozContainerClass MozContainerClass;

struct _MozContainer {
  GtkContainer container;
  gboolean destroyed;
  // Child widget is used for GtkEntry of emoji selector
  GtkWidget* entry_widget = nullptr;
#ifdef MOZ_WAYLAND
  MozContainerWayland* wl;
#endif
};

struct _MozContainerClass {
  GtkContainerClass parent_class;
};

namespace mozilla::widget {
class WaylandSurface;
}

GType moz_container_get_type(void);
GtkWidget* moz_container_new(void* aWindow,
                             mozilla::widget::WaylandSurface* aSurface);
void moz_container_unmap(GtkWidget* widget);
void moz_container_class_init(MozContainerClass* klass);

class nsWindow;
nsWindow* moz_container_get_nsWindow(MozContainer* container);

GtkWidget* moz_container_get_entry(MozContainer* container);
GtkWidget* moz_container_entry_set(MozContainer* container, GtkWidget* widget);
void moz_container_entry_position(MozContainer* container, int x, int y,
                                  int height);

#endif /* MOZ_CONTAINER_H_ */

Messung V0.5 in Prozent
C=96 H=100 G=97

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-09-29) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.