mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
65 lines
1.8 KiB
C++
65 lines
1.8 KiB
C++
// Copyright 2015 The Chromium 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 SKY_ENGINE_CORE_PAINTING_LAYOUTROOT_H_
|
|
#define SKY_ENGINE_CORE_PAINTING_LAYOUTROOT_H_
|
|
|
|
#include "sky/engine/core/dom/Node.h"
|
|
#include "sky/engine/core/frame/FrameHost.h"
|
|
#include "sky/engine/core/painting/Paint.h"
|
|
#include "sky/engine/core/painting/Picture.h"
|
|
#include "sky/engine/platform/graphics/DisplayList.h"
|
|
#include "sky/engine/tonic/dart_wrappable.h"
|
|
#include "sky/engine/wtf/PassRefPtr.h"
|
|
#include "sky/engine/wtf/RefCounted.h"
|
|
|
|
namespace blink {
|
|
class Canvas;
|
|
class Document;
|
|
class Element;
|
|
class LocalFrame;
|
|
|
|
class LayoutRoot : public RefCounted<LayoutRoot>, public DartWrappable {
|
|
DEFINE_WRAPPERTYPEINFO();
|
|
public:
|
|
LayoutRoot();
|
|
~LayoutRoot() override;
|
|
|
|
static PassRefPtr<LayoutRoot> create();
|
|
|
|
Element* rootElement() const;
|
|
void setRootElement(Element*);
|
|
|
|
void layout();
|
|
void paint(Canvas*);
|
|
|
|
LayoutUnit minWidth() const { return m_minWidth; }
|
|
void setMinWidth(LayoutUnit width) { m_minWidth = width; }
|
|
|
|
LayoutUnit maxWidth() const { return m_maxWidth; }
|
|
void setMaxWidth(LayoutUnit width) { m_maxWidth = width; }
|
|
|
|
LayoutUnit minHeight() const { return m_minHeight; }
|
|
void setMinHeight(LayoutUnit height) { m_minHeight = height; }
|
|
|
|
LayoutUnit maxHeight() const { return m_maxHeight; }
|
|
void setMaxHeight(LayoutUnit height) { m_maxHeight = height; }
|
|
|
|
private:
|
|
LayoutUnit m_minWidth;
|
|
LayoutUnit m_maxWidth;
|
|
LayoutUnit m_minHeight;
|
|
LayoutUnit m_maxHeight;
|
|
RefPtr<Document> m_document;
|
|
RefPtr<LocalFrame> m_frame;
|
|
|
|
// TODO(eseidel): All of these should be removed:
|
|
OwnPtr<Settings> m_settings;
|
|
OwnPtr<FrameHost> m_frameHost;
|
|
};
|
|
|
|
} // namespace blink
|
|
|
|
#endif // SKY_ENGINE_CORE_PAINTING_LAYOUTROOT_H_
|