Mercurial > hg > dmlib
view editor/edtlobj.cpp @ 2073:1ad8382e3670
Make space-key go to next image in addition to arrow right/up.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 05 Dec 2018 17:43:08 +0200 |
parents | b4992d9f72fe |
children |
line wrap: on
line source
// // Demo Editor -- Timeline state object // Wrapper class for DMTimeline data // (C) Copyright 2012 Matti 'ccr' Hämäläinen <ccr@tnsp.org> // #include "edtlobj.h" #include "dmres.h" EDTimelineObject::EDTimelineObject() { dmTimelineNew(&tl, "Demo"); scrub(); } EDTimelineObject::EDTimelineObject(EDTimelineObject *obj) { scrub(); filename = obj->filename; dmCopyTimeline(obj->tl, &tl); } EDTimelineObject::~EDTimelineObject() { dmFreeTimeline(tl); } int EDTimelineObject::load(QString mfilename) { DMResource *res; DMTimeline *tmp; int err; if ((err = dmf_open_stdio(mfilename.toUtf8().constData(), "rb", &res)) != DMERR_OK) return err; err = dmLoadTimeline(res, &tmp); dmf_close(res); if (err == DMERR_OK) { dmFreeTimeline(tl); tl = tmp; scrub(); if (tl->name != NULL) filename = QString(tl->name); else filename = mfilename; } else { dmFreeTimeline(tmp); } return err; } int EDTimelineObject::save(QString mfilename) { DMResource *res; int err; if ((err = dmf_open_stdio(mfilename.toUtf8().constData(), "wb", &res)) != DMERR_OK) return err; err = dmSaveTimeline(res, tl); scrub(); dmf_close(res); return err; } void EDTimelineObject::touch() { ntouches++; } void EDTimelineObject::scrub() { ntouches = 0; } bool EDTimelineObject::touched() { return ntouches; } void EDTimelineObject::setState(const QString &mstate) { cstate = mstate; } QString EDTimelineObject::state() const { return cstate; }