aboutsummaryrefslogtreecommitdiff
path: root/src/platform/graphics/web_canvas/WebCanvasRef.cpp
blob: c4ad9b174968a45bba2f0d69876d6e5d0cf23c85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "cru/platform/graphics/web_canvas/WebCanvasRef.h"
#include "cru/platform/web/Js.h"

#include <cassert>
#include <utility>

namespace cru::platform::graphics::web_canvas {
WebCanvasRef::WebCanvasRef(emscripten::val canvas_val)
    : val_(std::move(canvas_val)) {
  assert(web::js::IsNotNullAndInstanceOf(val_, "HTMLCanvasElement"));
}

int WebCanvasRef::GetWidth() const { return val_["width"].as<int>(); }

int WebCanvasRef::GetHeight() const { return val_["height"].as<int>(); }

void WebCanvasRef::Save() const { val_.call<void>("save"); }

void WebCanvasRef::Restore() const { val_.call<void>("restore"); }
}  // namespace cru::platform::graphics::web_canvas