/*
 *  ITnMapGlyphProxy.h
 *  OpenGL Map Engine
 *
 *  Created by Thant on 9/22/2010
 *  Copyright 2009 TeleNav Inc. All rights reserved.
 *
 */

#ifndef ITN_MAP_GLYPH_PROXY_H
#define ITN_MAP_GLYPH_PROXY_H

#include "foundation/SharedPtr.h"

#include "TnMapGlyphData.h"

class ITnMapGlyphProxy
{
protected:

    virtual ~ITnMapGlyphProxy() = 0;

public:
    
    typedef Tn::Foundation::shared_ptr<ITnMapGlyphProxy> ptr;

    // Engine calls this to request tile glyph data.

    virtual void RequestGlyph(TnMapGlyphData::ptr const & data) = 0;

    virtual void CancelRequest(TnMapGlyphData::ptr const & data) = 0;
    
    static bool IsControlChar(TnMapGlyphData::ptr const & data)
    {
        // if code is less than ' ' i.e., space character or the value 32
        return (data->GetCode() < 32); 
    }
};


#endif
