1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:28:12 +00:00
serenity/Userland/Libraries/LibGUI/Forward.h
Tom 4392da970a WindowServer: Add initial support for rendering on multiple screens
This allows WindowServer to use multiple framebuffer devices and
compose the desktop with any arbitrary layout. Currently, it is assumed
that it is configured contiguous and non-overlapping, but this should
eventually be enforced.

To make rendering efficient, each window now also tracks on which
screens it needs to be rendered. This way we don't have to iterate all
the windows for each screen but instead use the same rendering loop and
then only render to the screen (or screens) that the window actually
uses.
2021-06-20 14:57:26 +02:00

87 lines
1.5 KiB
C++

/*
* Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
namespace GUI {
class AbstractButton;
class AbstractTableView;
class AbstractView;
class Action;
class ActionGroup;
class Application;
class AutocompleteBox;
class AutocompleteProvider;
class BoxLayout;
class Button;
class CheckBox;
class ComboBox;
class Command;
class DragEvent;
class DropEvent;
class EditingEngine;
class FileSystemModel;
class Frame;
class GroupBox;
class HeaderView;
class HorizontalBoxLayout;
class HorizontalSlider;
class Icon;
class IconView;
class JsonArrayModel;
class KeyEvent;
class Label;
class Layout;
class ListView;
class Menu;
class Menubar;
class MenuItem;
class Model;
class ModelEditingDelegate;
class ModelIndex;
class MouseEvent;
class MultiPaintEvent;
class MultiView;
class OpacitySlider;
class PaintEvent;
class Painter;
class RadioButton;
class ResizeCorner;
class ResizeEvent;
class ScreenRectsChangeEvent;
class Scrollbar;
class AbstractScrollableWidget;
class Slider;
class SortingProxyModel;
class SpinBox;
class Splitter;
class StackWidget;
class Statusbar;
class TabWidget;
class TableView;
class TextBox;
class TextDocument;
class TextDocumentLine;
struct TextDocumentSpan;
class TextDocumentUndoCommand;
class TextEditor;
class ThemeChangeEvent;
class Toolbar;
class ToolbarContainer;
class TreeView;
class Variant;
class VerticalBoxLayout;
class VerticalSlider;
class WMEvent;
class Widget;
class Window;
class WindowServerConnection;
enum class ModelRole;
enum class SortOrder;
}