blob: b41a99ff4821bc2cb4cc6896887b96b678852784 [file] [log] [blame]
// Copyright 2018 The Fuchsia 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 GARNET_LIB_UI_SKETCHY_SKETCHY_SYSTEM_H_
#define GARNET_LIB_UI_SKETCHY_SKETCHY_SYSTEM_H_
#include "garnet/lib/ui/gfx/gfx_system.h"
#include "garnet/lib/ui/scenic/system.h"
namespace scenic_impl {
// TODO(SCN-552): document.
class SketchySystem : public System {
public:
static constexpr TypeId kTypeId = kSketchy;
static const char* kName;
SketchySystem(SystemContext context, gfx::GfxSystem* scenic);
~SketchySystem() override;
CommandDispatcherUniquePtr CreateCommandDispatcher(
CommandDispatcherContext context) override;
private:
gfx::GfxSystem* const gfx_system_;
};
// TODO(SCN-552): document.
class SketchyCommandDispatcher : public CommandDispatcher {
public:
SketchyCommandDispatcher(CommandDispatcherContext context,
gfx::GfxSystem* scenic);
~SketchyCommandDispatcher() override;
// |CommandDispatcher|
void DispatchCommand(const fuchsia::ui::scenic::Command command) override;
private:
gfx::GfxSystem* const gfx_system_;
};
} // namespace scenic_impl
#endif // GARNET_LIB_UI_SKETCHY_SKETCHY_SYSTEM_H_