libscratchcpp
A library for C++ based Scratch project players
Loading...
Searching...
No Matches
compilercontext.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
3#pragma once
4
5#include "global.h"
6#include "spimpl.h"
7
8namespace libscratchcpp
9{
10
11class IEngine;
12class Target;
13class CompilerContextPrivate;
14
17{
18 public:
21 virtual ~CompilerContext() { }
22
23 IEngine *engine() const;
24 Target *target() const;
25
30 virtual void preoptimize() { }
31
32 private:
33 spimpl::unique_impl_ptr<CompilerContextPrivate> impl;
34};
35
36} // namespace libscratchcpp
virtual ~CompilerContext()
Definition compilercontext.h:21
Target * target() const
Definition compilercontext.cpp:22
virtual void preoptimize()
Definition compilercontext.h:30
CompilerContext(const CompilerContext &)=delete
IEngine * engine() const
Definition compilercontext.cpp:16
CompilerContext(IEngine *engine, Target *target)
Definition compilercontext.cpp:10
The IEngine interface provides an API for running Scratch projects.
Definition iengine.h:41
The Target class is the Stage or a Sprite.
Definition target.h:28
#define LIBSCRATCHCPP_EXPORT
Definition global.h:17
The main namespace of the library.
Definition asset.h:10