Blender V5.0
BlenderStyleModule.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
10
13
14#include "BLI_utildefines.h" // BLI_assert()
15
16struct Text;
17
18namespace Freestyle {
19
21 public:
22 BufferedStyleModule(const string &buffer, const string &file_name, Interpreter *inter)
23 : StyleModule(file_name, inter)
24 {
25 _buffer = buffer;
26 }
27
29
30 protected:
31 virtual int interpret()
32 {
33 PythonInterpreter *py_inter = dynamic_cast<PythonInterpreter *>(_inter);
34 BLI_assert(py_inter != 0);
35 return py_inter->interpretString(_buffer, getFileName());
36 }
37
38 private:
39 string _buffer;
40
41 MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:BufferedStyleModule")
42};
43
45 public:
46 BlenderStyleModule(struct Text *text, const string &name, Interpreter *inter)
47 : StyleModule(name, inter)
48 {
49 _text = text;
50 }
51
53
54 protected:
55 virtual int interpret()
56 {
57 PythonInterpreter *py_inter = dynamic_cast<PythonInterpreter *>(_inter);
58 BLI_assert(py_inter != 0);
59 return py_inter->interpretText(_text, getFileName());
60 }
61
62 private:
63 struct Text *_text;
64
65 MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:BlenderStyleModule")
66};
67
68} /* namespace Freestyle */
#define BLI_assert(a)
Definition BLI_assert.h:46
Python Interpreter.
Class representing a style module.
BlenderStyleModule(struct Text *text, const string &name, Interpreter *inter)
BufferedStyleModule(const string &buffer, const string &file_name, Interpreter *inter)
int interpretString(const string &str, const string &name)
int interpretText(struct Text *text, const string &name)
const string getFileName() const
Definition StyleModule.h:88
StyleModule(const string &file_name, Interpreter *inter)
Definition StyleModule.h:30
inherits from class Rep
Definition AppCanvas.cpp:20
const char * name