Should I make wrappers for polymorphic classes that need to be allocatd on the heap?
<p>Right now, the GUI API for games I''m developing has an abstract Image and Font class. Depending on whether they use a GL, SDL etc Font, they load fonts like this:</p>

<pre><code>Font *segoe = Font::load("segoe.ttf");
</code></pre>

<p>There is also a corresponding destroy() static function as well.</p>

<p>I like this design, but I was wondering if it would be a good idea to wrap it so that no pointers needed. Something like this (with better naming conventions)</p>

<pre><code>WrappedFont segoe = WrappedFont(Font::load("segoe.ttf"));
</code></pre>

<p>It would also have overloaded = and a copy ctor, and a destructor.</p>

<p>Is it generally more desired for a game gui for the user to manage their Images and Fonts, or is a wrapped pattern more desirable?</p>

<p>Thanks</p>
