level 1
Yuchsh88
楼主
/*
* 文件名称:Calculator.c
*
* 摘 要 :计算器示例源码,c4droid5.98 gcc sdl2 编译通过
*
*/
#include "SDL2/SDL.h"
/* 包含字体、图片、声音扩展库 */
#include "SDL2/SDL_ttf.h"
#include "SDL2/SDL_image.h"
#include "SDL2/SDL_mixer.h"
#include<string.h>
#define BUFLEN 50
#define WIDTH 1080
#define HEIGHT 1920
#define FRAME 24
char *background = "./resources/cal.png";
char *sound = "./resources/sound.wav";
char *fontpath = "./resources/ziti.ttf";
SDL_Window *Window = NULL;
SDL_Renderer *Render = NULL;
SDL_Texture *BackGroundTex = NULL;
Mix_Chunk *Chunk = NULL;
TTF_Font *FontTtf = NULL;
int Init() {
SDL_Init(SDL_INIT_EVERYTHING);
Window =
SDL_CreateWindow("Calculator", 0, 0, WIDTH, HEIGHT, SDL_WINDOW_FULLSCREEN);
Render = SDL_CreateRenderer(Window, -1, SDL_RENDERER_ACCELERATED);
return 0;
}
void InitExt() {
SDL_Surface *Surface = NULL;
IMG_Init(IMG_INIT_PNG);
Surface = IMG_Load(background);
BackGroundTex = SDL_CreateTextureFromSurface(Render, Surface);
SDL_FreeSurface(Surface);
IMG_Quit();
Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 4096);
Chunk = Mix_LoadWAV(sound);
TTF_Init();
FontTtf = TTF_OpenFont(fontpath, 180);
}
void Text(char *String, int x, int y, SDL_Renderer * Render,
int r, int g, int b, int a) {
int w = 0, h = 0;
SDL_Color Color;
SDL_Rect RenderRect;
SDL_Surface *FontSur = NULL;
SDL_Texture *FontTex = NULL;
Color.r = r;
Color.g = g;
Color.b = b;
Color.a = a;
FontSur = TTF_RenderUTF8_Blended(FontTtf, String, Color);
FontTex = SDL_CreateTextureFromSurface(Render, FontSur);
SDL_FreeSurface(FontSur);
SDL_QueryTexture(FontTex, NULL, NULL, &w, &h);
RenderRect.x = x;
RenderRect.y = y;
RenderRect.w = w;
RenderRect.h = h;
SDL_RenderCopy(Render, FontTex, NULL, &RenderRect);
SDL_DestroyTexture(FontTex);
}
void QuitExt() {
TTF_CloseFont(FontTtf);
TTF_Quit();
Mix_FreeChunk(Chunk);
Mix_CloseAudio();
}
void Quit() {
SDL_DestroyTexture(BackGroundTex);
SDL_DestroyRenderer(Render);
SDL_DestroyWindow(Window);
SDL_Quit();
}
2018年01月27日 04点01分
1
* 文件名称:Calculator.c
*
* 摘 要 :计算器示例源码,c4droid5.98 gcc sdl2 编译通过
*
*/
#include "SDL2/SDL.h"
/* 包含字体、图片、声音扩展库 */
#include "SDL2/SDL_ttf.h"
#include "SDL2/SDL_image.h"
#include "SDL2/SDL_mixer.h"
#include<string.h>
#define BUFLEN 50
#define WIDTH 1080
#define HEIGHT 1920
#define FRAME 24
char *background = "./resources/cal.png";
char *sound = "./resources/sound.wav";
char *fontpath = "./resources/ziti.ttf";
SDL_Window *Window = NULL;
SDL_Renderer *Render = NULL;
SDL_Texture *BackGroundTex = NULL;
Mix_Chunk *Chunk = NULL;
TTF_Font *FontTtf = NULL;
int Init() {
SDL_Init(SDL_INIT_EVERYTHING);
Window =
SDL_CreateWindow("Calculator", 0, 0, WIDTH, HEIGHT, SDL_WINDOW_FULLSCREEN);
Render = SDL_CreateRenderer(Window, -1, SDL_RENDERER_ACCELERATED);
return 0;
}
void InitExt() {
SDL_Surface *Surface = NULL;
IMG_Init(IMG_INIT_PNG);
Surface = IMG_Load(background);
BackGroundTex = SDL_CreateTextureFromSurface(Render, Surface);
SDL_FreeSurface(Surface);
IMG_Quit();
Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 4096);
Chunk = Mix_LoadWAV(sound);
TTF_Init();
FontTtf = TTF_OpenFont(fontpath, 180);
}
void Text(char *String, int x, int y, SDL_Renderer * Render,
int r, int g, int b, int a) {
int w = 0, h = 0;
SDL_Color Color;
SDL_Rect RenderRect;
SDL_Surface *FontSur = NULL;
SDL_Texture *FontTex = NULL;
Color.r = r;
Color.g = g;
Color.b = b;
Color.a = a;
FontSur = TTF_RenderUTF8_Blended(FontTtf, String, Color);
FontTex = SDL_CreateTextureFromSurface(Render, FontSur);
SDL_FreeSurface(FontSur);
SDL_QueryTexture(FontTex, NULL, NULL, &w, &h);
RenderRect.x = x;
RenderRect.y = y;
RenderRect.w = w;
RenderRect.h = h;
SDL_RenderCopy(Render, FontTex, NULL, &RenderRect);
SDL_DestroyTexture(FontTex);
}
void QuitExt() {
TTF_CloseFont(FontTtf);
TTF_Quit();
Mix_FreeChunk(Chunk);
Mix_CloseAudio();
}
void Quit() {
SDL_DestroyTexture(BackGroundTex);
SDL_DestroyRenderer(Render);
SDL_DestroyWindow(Window);
SDL_Quit();
}
