5 * Created by Alyssa Milburn on Thu Dec 29 2005.
6 * Copyright (c) 2005 Alyssa Milburn. All rights reserved.
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
25 struct renderablezorder
{
26 bool operator()(const class renderable
*s1
, const class renderable
*s2
) const;
32 std::multiset
<renderable
*, renderablezorder
>::iterator renders_iter
;
35 renderable() { added
= false; }
36 virtual void render(class Surface
*renderer
, int xoffset
, int yoffset
) = 0;
37 virtual bool showOnRemoteCameras() { return true; }
38 virtual unsigned int getZOrder() const = 0;
39 virtual void zapZOrder();
40 virtual void addZOrder();
41 virtual ~renderable();