Jump to content
  • Advertisement
Sign in to follow this  

How to do a Real Copy of TTF_Font (From SDL_ttf),

This topic is 2342 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm currently developping some class to make my life simplier in SDL (My life haven't been really simpler since)
I have just create a classe named : Boutton, to create ... Boutton.

The class have 3 attributes :

[source lang="cpp"]
char *b_t;
SDL_Color b_ct;
TTF_Font *b_p;

B_t and b_p are pointer. I have to destruct them or I will have a memory lack.
so I have added in my destructor the following line :

[source lang="cpp"]MISC_Bouton:: ~MISC_Bouton ()

Now, I have to create a copy and an asign constructor,

My problem is, How I can do to do these
[source lang="cpp"] MISC_Bouton (MISC_Bouton const& other)
MISC_Bouton& MISC_Bouton ::operator=(MISC_Bouton const& other)[/source])

I already had that kind of problem with SDL_Surface* in my windows class but there are a function to copy SDL_Surface (SDL_ConvertSurface()) so I was abled to copy the SDL_Surface in himself and not the adress.

So anyone knows something to copy a TTF_Surface and not the adress ?


Share this post

Link to post
Share on other sites
I think you should not copy them, but have a kind of resource manager. The resource manager will be responsible for the creation and destruction of the resources like this font. As a font can be shared between different objects, you won't use unnecessary memory to keep a copy for every objects using it. The resources should be ref counted, every object using them increasing the ref count and when the object is destroyed, the ref count is decreased. When the ref count reaches 0, the resource manager will destroy the resource.

Share this post

Link to post
Share on other sites
It's ok, I have created a class Font, with the name and the font size in attribut, plus a function Get that return the TFF_Font*, so I won't have to create a TFF_Font* variable anymore.
I replace Char* by a string.

Thanks. =D

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!