Mercurial > projects > mde
view mde/gui/content/Services.d @ 61:7cab2af4ba21
A little bit of progress on the content handling system (relevent code is likely to be revised).
Also some changes to debug statements, in particular a new drawGlyphCache debug version.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Wed, 25 Jun 2008 17:25:48 +0100 |
parents | |
children |
line wrap: on
line source
/* LICENSE BLOCK Part of mde: a Modular D game-oriented Engine Copyright © 2007-2008 Diggory Hardy This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ // NOTE: This module is currently unused and untested. // FIXME: write unittests /** Content services. * * Services act on a content, potentially modifying it. They have the form: * --- * bool service (ref Content c); * --- * where c is the content acted on, and the return value is true if the content was changed (useful * to know whether caches need updating or not). */ module mde.gui.content.Services; bool copy (ref Content c) { // Put a duplicate on the clipboard, so later changes don't affect what's on the clipboard. clipboard = c.dup; return false; } bool paste (ref ContentText c) { if (clipboard is null) return false; // no item on clipboard, so don't do anything c = clipboard.toText; return true; } bool paste (ref ContentInt c) { if (clipboard is null) return false; // no item on clipboard, so don't do anything c = clipboard.toInt; return true; } bool link (ref ContentText c) { if (clipboard is null) return false; // no item on clipboard, so don't do anything c = clipboard; return true; } Content clipboard;