// ************************************************************************************************************
// Author: Marcin Załęczny
// Release Date: 2010-11-10
// Licence: The GNU Lesser General Public License, version 3.0 (LGPLv3)
// ************************************************************************************************************
#ifndef __MZSTDXPSBLANKETS_COMMON_H__
#define __MZSTDXPSBLANKETS_COMMON_H__

#include <windows.h>


// if we compile dll based project
#ifdef MZSTDXPSBLANKETS_DLL
    // if we compile dll library
    #ifdef MZSTDXPSBLANKETS_INTERNAL
        #define DECLSPEC_MZSTDXPSBLANKETS __declspec(dllexport)
    #else
        #define DECLSPEC_MZSTDXPSBLANKETS __declspec(dllimport)
    #endif
#endif

// if we compile static lib based project
#ifdef MZSTDXPSBLANKETS_STATIC
    #ifdef MZSTDXPSBLANKETS_INTERNAL
        #define DECLSPEC_MZSTDXPSBLANKETS __declspec(dllexport)
    #else
        #define DECLSPEC_MZSTDXPSBLANKETS
    #endif
#endif

#ifndef DECLSPEC_MZSTDXPSBLANKETS
    #define DECLSPEC_MZSTDXPSBLANKETS
#endif



#ifdef MZSTDXPSBLANKETS_DLL
    #ifdef MZSTDXPSBLANKETS_INTERNAL
        VOID* __cdecl operator new(size_t size);
        VOID* __cdecl operator new(size_t size, CHAR ch);
        // Size is summary size of required memory for example if we call new INT[20], the size will be 80
        VOID* __cdecl operator new[](size_t size);
        VOID  __cdecl operator delete(VOID* p);
        VOID  __cdecl operator delete[](VOID* p);
    #endif
#endif

#endif
