.. _program_listing_file_libtcod_sys.hpp: Program Listing for File sys.hpp ================================ |exhale_lsh| :ref:`Return to documentation for file ` (``libtcod/sys.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* BSD 3-Clause License * * Copyright © 2008-2025, Jice and the libtcod contributors. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. Neither the name of the copyright holder nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ // clang-format off #pragma once #ifndef TCOD_SYS_HPP_ #define TCOD_SYS_HPP_ #include "image.hpp" #include "mouse.hpp" #include "sys.h" class TCODLIB_API ITCODSDLRenderer { public : virtual ~ITCODSDLRenderer() {} virtual void render(void *sdlSurface) = 0; }; class TCODLIB_API TCODSystem { public : [[deprecated("This function is not compatible with contexts. Use tcod::Timer instead.")]] static void setFps(int val); [[deprecated("This function is not compatible with contexts. Use tcod::Timer instead.")]] static int getFps(); [[deprecated("This function is not compatible with contexts. Use tcod::Timer or SDL timing functions instead.")]] static float getLastFrameLength(); [[deprecated("Use SDL_Delay instead.")]] static void sleepMilli(uint32_t val); [[deprecated("Use SDL_GetTicks instead.")]] static uint32_t getElapsedMilli(); [[deprecated("Use SDL_GetTicks instead.")]] static float getElapsedSeconds(); [[deprecated("This API is deprecated, use SDL_WaitEvent instead.")]] static TCOD_event_t waitForEvent(int eventMask, TCOD_key_t *key, TCOD_mouse_t *mouse, bool flush); [[deprecated("This API is deprecated, use SDL_PollEvent instead.")]] static TCOD_event_t checkForEvent(int eventMask, TCOD_key_t *key, TCOD_mouse_t *mouse); [[deprecated("This function is not compatible with contexts.")]] static void saveScreenshot(const char *filename); TCOD_DEPRECATED_NOMESSAGE static bool createDirectory(const char *path); TCOD_DEPRECATED_NOMESSAGE static bool deleteDirectory(const char *path); TCOD_DEPRECATED_NOMESSAGE static bool deleteFile(const char *path); TCOD_DEPRECATED_NOMESSAGE static bool isDirectory(const char *path); TCOD_DEPRECATED_NOMESSAGE static TCOD_list_t getDirectoryContent(const char *path, const char *pattern); TCOD_DEPRECATED_NOMESSAGE static bool fileExists(const char * filename, ...); TCOD_DEPRECATED_NOMESSAGE static bool readFile(const char *filename, unsigned char **buf, size_t *size); TCOD_DEPRECATED_NOMESSAGE static bool writeFile(const char *filename, unsigned char *buf, uint32_t size); TCOD_DEPRECATED_NOMESSAGE static void registerSDLRenderer(ITCODSDLRenderer *renderer); [[deprecated("This function is not compatible with contexts.")]] static void forceFullscreenResolution(int width, int height); [[deprecated("This function is not compatible with contexts.")]] static void getCurrentResolution(int *width, int *height); [[deprecated("This function is not compatible with contexts.")]] static void getFullscreenOffsets(int *offset_x, int *offset_y); [[deprecated("This function is not compatible with contexts.")]] static void getCharSize(int *w, int *h); [[deprecated("This function is not compatible with contexts.")]] static void updateChar(int asciiCode, int font_x, int font_y,const TCODImage *img,int x,int y); [[deprecated("This function is not compatible with contexts.")]] static void setRenderer(TCOD_renderer_t renderer); [[deprecated("This function is not compatible with contexts.")]] static TCOD_renderer_t getRenderer(); TCOD_DEPRECATED_NOMESSAGE static bool setClipboard(const char *value); TCOD_DEPRECATED_NOMESSAGE static char *getClipboard(); #ifndef TCOD_NO_THREADS // thread stuff TCOD_DEPRECATED_NOMESSAGE static int getNumCores(); TCOD_DEPRECATED_NOMESSAGE static TCOD_thread_t newThread(int (*func)(void *), void *data); TCOD_DEPRECATED_NOMESSAGE static void deleteThread(TCOD_thread_t th); TCOD_DEPRECATED_NOMESSAGE static void waitThread(TCOD_thread_t th); // mutex TCOD_DEPRECATED_NOMESSAGE static TCOD_mutex_t newMutex(); TCOD_DEPRECATED_NOMESSAGE static void mutexIn(TCOD_mutex_t mut); TCOD_DEPRECATED_NOMESSAGE static void mutexOut(TCOD_mutex_t mut); TCOD_DEPRECATED_NOMESSAGE static void deleteMutex(TCOD_mutex_t mut); // semaphore TCOD_DEPRECATED_NOMESSAGE static TCOD_semaphore_t newSemaphore(int initVal); TCOD_DEPRECATED_NOMESSAGE static void lockSemaphore(TCOD_semaphore_t sem); TCOD_DEPRECATED_NOMESSAGE static void unlockSemaphore(TCOD_semaphore_t sem); TCOD_DEPRECATED_NOMESSAGE static void deleteSemaphore( TCOD_semaphore_t sem); // condition TCOD_DEPRECATED_NOMESSAGE static TCOD_cond_t newCondition(); TCOD_DEPRECATED_NOMESSAGE static void signalCondition(TCOD_cond_t sem); TCOD_DEPRECATED_NOMESSAGE static void broadcastCondition(TCOD_cond_t sem); TCOD_DEPRECATED_NOMESSAGE static void waitCondition(TCOD_cond_t sem, TCOD_mutex_t mut); TCOD_DEPRECATED_NOMESSAGE static void deleteCondition( TCOD_cond_t sem); #endif // TCOD_NO_THREADS }; #endif // TCOD_SYS_HPP_