MCPcopy Create free account
hub / github.com/LibreSprite/LibreSprite / Editor

Method Editor

src/app/ui/editor/editor.cpp:148–207  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

146AppRender Editor::m_renderEngine;
147
148Editor::Editor(Document* document, EditorFlags flags)
149 : Widget(editor_type())
150 , m_state(new StandbyState())
151 , m_decorator(NULL)
152 , m_document(document)
153 , m_sprite(m_document->sprite())
154 , m_layer(m_sprite->folder()->getFirstLayer())
155 , m_frame(frame_t(0))
156 , m_zoom(1, 1)
157 , m_docPref(Preferences::instance().document(document))
158 , m_brushPreview(this)
159 , m_lastDrawingPosition(-1, -1)
160 , m_toolLoopModifiers(tools::ToolLoopModifiers::kNone)
161 , m_autoSelectLayer(false)
162 , m_padding(0, 0)
163 , m_antsTimer(100, this)
164 , m_antsOffset(0)
165 , m_customizationDelegate(NULL)
166 , m_docView(NULL)
167 , m_flags(flags)
168 , m_secondaryButton(false)
169 , m_aniSpeed(1.0)
170{
171 // Add the first state into the history.
172 m_statesHistory.push(m_state);
173
174 this->setFocusStop(true);
175
176 App::instance()->activeToolManager()->addObserver(this);
177
178 m_fgColorChangeConn =
179 Preferences::instance().colorBar.fgColor.AfterChange.connect(
180 base::Bind<void>(&Editor::onFgColorChange, this));
181
182 m_contextBarBrushChangeConn =
183 App::instance()->contextBar()->BrushChange.connect(
184 base::Bind<void>(&Editor::onContextBarBrushChange, this));
185
186 // Restore last site in preferences
187 frame_t preferredFrame = m_docPref.site.frame();
188 Layer* preferredLayer = m_sprite->indexToLayer(m_docPref.site.layer());
189 if (preferredFrame >= 0 && preferredFrame <= m_sprite->lastFrame())
190 setFrame(preferredFrame);
191 if (preferredLayer)
192 setLayer(preferredLayer);
193
194 m_tiledConn = m_docPref.tiled.AfterChange.connect(base::Bind<void>(&Editor::invalidate, this));
195 m_gridConn = m_docPref.grid.AfterChange.connect(base::Bind<void>(&Editor::invalidate, this));
196 m_pixelGridConn = m_docPref.pixelGrid.AfterChange.connect(base::Bind<void>(&Editor::invalidate, this));
197 m_bgConn = m_docPref.bg.AfterChange.connect(base::Bind<void>(&Editor::invalidate, this));
198 m_onionskinConn = m_docPref.onionskin.AfterChange.connect(base::Bind<void>(&Editor::invalidate, this));
199 m_symmetryModeConn = Preferences::instance().symmetryMode.enabled.AfterChange.connect(base::Bind<void>(&Editor::invalidateIfActive, this));
200 m_showExtrasConn =
201 m_docPref.show.AfterChange.connect(
202 base::Bind<void>(&Editor::onShowExtrasChange, this));
203
204 m_document->addObserver(this);
205

Callers

nothing calls this directly

Calls 15

editor_typeFunction · 0.85
instanceFunction · 0.85
getFirstLayerMethod · 0.80
folderMethod · 0.80
setFocusStopMethod · 0.80
activeToolManagerMethod · 0.80
contextBarMethod · 0.80
indexToLayerMethod · 0.80
spriteMethod · 0.45
documentMethod · 0.45
pushMethod · 0.45
addObserverMethod · 0.45

Tested by

no test coverage detected