Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2012, 19:18   #1
Murashov
Форумчанин
 
Аватар для Murashov
 
Регистрация: 30.10.2012
Сообщений: 121
По умолчанию SDL2 вывод текста

Пытаюсь вывести текст на экран. Почему-то функция TTF_RenderText_Solid() возвращает значение 3. Что не так пишу?
Код:
#include <stdio.h>
#include <stdlib.h>
#include <SDL2/SDL.h>
#include <SDL_TTF.h>
#include <conio.h>
#define MxN 640,480

/*цвета*/
//              R     G     B
#define BLACK   0,    0,    0
#define RED     255,  0,    0
#define GREEN   0,    255,  0
#define BLUE    0,    0,    255
#define WHITE   255,  255,  255
#define BLUE2   66,   170,  255
#define PINK    255,  192,  203


int main(int argc,char **argv)
{
    SDL_Window *wnd;
    SDL_Renderer *render;

    if(TTF_Init()<0)
        printf("Error ttf");

    if(SDL_Init(SDL_INIT_VIDEO)<0)
        printf("Error video");

    wnd=SDL_CreateWindow("Text Processor",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,640,480,SDL_WINDOW_SHOWN);

    render=SDL_CreateRenderer(wnd,-1,1);

    SDL_SetRenderDrawColor(render,WHITE,0);

    TTF_Font* font=TTF_OpenFont("font.ttf", 32);
    if (font == NULL)
        printf("Unable to load font \n");



    SDL_Color color={255,255,255};

    SDL_Surface *surface=NULL;

    SDL_FreeSurface(surface);

    surface=TTF_RenderText_Solid(font, "123", color); //текст в сурфейс



    SDL_Rect position={10,10,200,50};//задаём позицию

    SDL_BlitSurface(surface, NULL, render, &position);//сурфейс на экран

    SDL_RenderPresent(render);

    TTF_CloseFont(font);

    SDL_Event e;

    while(e.type!=SDL_QUIT && e.type!=SDL_KEYDOWN)
        SDL_PollEvent(&e);

    SDL_DestroyWindow(wnd);

    SDL_Quit();
    return 0;
}

Последний раз редактировалось Murashov; 13.11.2012 в 19:30.
Murashov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод текста. glebast Помощь студентам 4 11.02.2012 18:54
Вывод текста )Игнат( Общие вопросы Delphi 3 10.08.2010 09:51
Вывод текста Aleksey1989 Помощь студентам 7 25.04.2010 16:52
Вывод текста SeeWhoIam Помощь студентам 2 24.12.2009 22:36
C|Вывод текста Troi666 Помощь студентам 4 09.05.2009 01:31