This commit is contained in:
2025-05-28 16:50:50 +08:00
commit 76a4edd6ed
15 changed files with 903 additions and 0 deletions

69
src/main.cpp Normal file
View File

@@ -0,0 +1,69 @@
//
// Created by 46944 on 25-5-21.
//
#include <thread>
#include "SDL3/SDL_init.h"
#include "SDL3/SDL_render.h"
#include "SDL3/SDL_video.h"
#include "SDL3/SDL_log.h"
#include "SDL3/SDL_timer.h"
#include "SDL3_ttf/SDL_ttf.h"
int main(int argc, char* argv[]) {
SDL_Init(SDL_INIT_VIDEO);
SDL_Window* window = SDL_CreateWindow("Hello World", 640, 480, 0);
if (window == nullptr) {
SDL_Log("Could not create window: %s", SDL_GetError());
return 1;
}
SDL_Renderer* renderer = SDL_CreateRenderer(window, "direct3d11");
if (renderer == nullptr) {
SDL_Log("Could not create renderer: %s", SDL_GetError());
SDL_DestroyWindow(window);
return 1;
}
TTF_Init();
auto text_engine = TTF_CreateRendererTextEngine(renderer);
if (text_engine == nullptr) {
SDL_Log("Could not create text engine: %s", SDL_GetError());
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
return 1;
}
TTF_Font* font = TTF_OpenFont("C:/Windows/Fonts/Arial.ttf", 24);
if (font == nullptr) {
SDL_Log("Could not open font: %s", SDL_GetError());
TTF_DestroyRendererTextEngine(text_engine);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
return 1;
}
SDL_Color color = { 255, 255, 255, 255 };
auto text_surface = TTF_RenderText_Solid(font, "Hello World", 0, color);
SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, text_surface);
SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
SDL_RenderTexture(renderer, texture, nullptr, nullptr);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
SDL_Event e;
while (true) {
if (!SDL_PollEvent(&e)) {
std::this_thread::sleep_for(std::chrono::milliseconds(1));
continue;
}
if (e.type == SDL_EVENT_QUIT) {
break;
}
}
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
TTF_Quit();
return 0;
}