Capítulo 6. Vídeo
Conteúdo:
SDL_GetVideoSurface - Retorna um ponteiro para a surfce de vídeo atual.
SDL_GetVideoInfo Retorna um ponteiro para informações a respeito dos hardware de vídeo.
SDL_VideoDriverName Obtém o nome do driver de vídeo.
SDL_ListModes Retorna um ponteiro para um array contendo as dimensões de tela disponíveis para os formatos e flags passados.
- SDL_VideoModeOK Checa se um modo de tela em particular é suportado.
SDL_SetVideoMode Estabelece um modo de tela com a largura, altura e bits-per-pixel especificados.
SDL_UpdateRect Faz com que a área dada como parâmetro seja atualizada no vídeo passado como parâmetro.
SDL_UpdateRects Faz com que a lista de retângulos passada como parâmetro seja atualizada na vídeo passado como parâmetro.
- SDL_Flip Troca os buffers de tela.
SDL_SetColors Define um mapa de cores para uma surface de 8-bits passada como parâmetro.
SDL_SetPalette Estabelece as cores na paleta para uma surface de 8-bits.
SDL_SetGamma Estabelece a função de gamma de cor para a tela.
SDL_GetGammaRamp Retorna as tabelas de pesquisa de cores gamma para a tela.
SDL_SetGammaRamp Estabelece as tabelas de pesquisa de cor gamma para a tela.
- SDL_MapRGB Mapeia valor de cor RGB para um formato de pixel.
- SDL_MapRGBA Mapeia um valor de cor RGBA para um formato de pixel.
- SDL_GetRGB Retorna os valores RGB de um pixel em um formato de pixels especificado.
- SDL_GetRGBA Retorna os valores RGBA de um pixel em um formato de pixels especificado.
- SDL_CreateRGBSurface Cria uma SDL_Surface vazia.
- SDL_CreateRGBSurfaceFrom Cria uma SDL_Surface de uma pixel data.
SDL_FreeSurface Libera (apaga) uma SDL_Surface.
SDL_LockSurface Trava uma surface parra acesso direto.
SDL_UnlockSurface Destrava uma surface travada anteriormente.
- SDL_LoadBMP Carrega um arquivo de Windows bitmap (BMP) em uma SDL_Surface.
- SDL_SaveBMP Salva uma SDL_Surface como um arquivo de bitmap do Windows (BMP).
SDL_SetColorKey Estabelece uma mascara de cores (pixel transparente) em uma surface blitavel e aceleração RLE.
SDL_SetAlpha Ajusta a alpha (transparência) de uma surface .
SDL_SetClipRect Define o retângulo de recorte para uma surface.
SDL_GetClipRect Retorna o retângulo de recorte de uma determinada surface.
SDL_ConvertSurface Converte uma surface para o mesmo formato de outra surface.
SDL_BlitSurface Efetua uma rápida plotagem (blit) de uma surface de origem para uma surface de destino.
SDL_FillRect Esta função efetua um rápido preenchimento de um dado retângulo com uma cor.
SDL_DisplayFormat Converte uma surface para o formato de tela.
SDL_DisplayFormatAlpha Converte uma surface para o formato de tela.
SDL_WarpMouse Estabelece a posição do cursor do mouse.
SDL_CreateCursor Cria um novo cursor para o mouse.
SDL_FreeCursor Libera um cursor criado com SDL_CreateCursor.
SDL_SetCursor Estabelece o cursor de mouse atualmente ativo.
SDL_GetCursor Retorna o cursor de mouse atualmente ativo.
SDL_ShowCursor Define se o cursor é ou não exibido na tela.
SDL_GL_LoadLibrary Especifica uma biblioteca OpenGL.
SDL_GL_GetProcAddress Pega o endereço de uma função GL.
SDL_GL_GetAttribute Retorna o valor de um atributo especial SDL/OpenGL.
SDL_GL_SetAttribute Define um atributo especial SDL/OpenGL.
SDL_GL_SwapBuffers Troca os framebuffers OpenGL/ Atualiza a tela.
- SDL_CreateYUVOverlay Cria uma cobertura de vídeo YUV
- SDL_LockYUVOverlay Trava uma cobertura
- SDL_UnlockYUVOverlay Destrava uma cobertura
- SDL_DisplayYUVOverlay Plota uma cobertura na tela
- SDL_FreeYUVOverlay Libera uma cobertura de vídeo YUV
- SDL_GLattr Atributos SDL GL.
- SDL_Rect Define uma área retangular.
- SDL_Color Formato independente de descrição de cores.
- SDL_Palette Paleta de cores para formatos de pixel de 8-bits.
SDL_PixelFormat Armazena informações sobre o formato da surface.
- SDL_Surface Estrutura de superfície (surface) gráfica.
SDL_VideoInfo Informações sobre o vídeo.
- SDL_Overlay Cobertura de vídeo YUV.
SDL apresenta uma interface muito simples para a tela de framebuffer. O framebuffer é representado como uma surface offscreen em que você pode escrever diretamente. Se você quiser que a tela mostre o que você fez, chame a função de atualização que irá garantir que aquela porção de tela desejada seja atualizada.
Antes de você chamar qualquer uma das funções de vídeo da SDL, você deve chamar primeiro SDL_Init(SDL_INIT_VIDEO), que inicializará o vídeo e os eventos da biblioteca SDL. Cheque o código de retorno ele deve ser 0 para verificar se existem erros na inicialização.
Se você usa som e vídeo em sua aplicação, você deve chamar primeiramente SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO) antes de abrir dispositivos de som, entretanto, sobre o Win32 DirectX, você não será capaz de estabelecer modos de tela cheia (full-screen).
Depois que você tiver iniciado a biblioteca, você pode configurar a tela de vídeo de várias maneiras. A maneira mais fácil é pegar uma resolução comum e profundidade de vídeo e iniciar o vídeo procurando por erros. Você provavelmente irá pegar o que você quiser, mas, SDL pode estar emulando seu pedido e convertendo para a tela durante a atualização. A melhor maneira é usar uma pesquisa, para o melhor modo de tela próximo ao desejado, e então converter suas imagens para aquele formato de pixel.
Atualmente, SDL suporta qualquer bit de profundidade >= 8 bits por pixel. Formatos 8 bpp são considerados modos de paleta de 8-bits, enquanto 12, 15, 16, 24 e 32 bits por pixel são considerados modos packed pixel, significando que cada pixel contém os componentes de cor RGB empacotados nos bits do pixel.
Depois que você tiver iniciado seu modo de vídeo, você pode pegar a surface que foi retornada, e escrever nela como qualquer outro framebuffer, chamando a rotina de atualização quando estiver pronto.
Quando você tiver finalizado o seu acesso ao vídeo e estiver pronto para fechar sua aplicação, você deve chamar SDL_Quit() para desligar o vídeo e os eventos.
