|
ÍNDICE
ÍNDICE
DE FUNCIONALIDADES
class
GAMESPACE_VIDEO_HANDLER
{
};
class
GAMESPACE_INPUT_HANDLER
{
}
class
GS_SPRITE
{
-
LoadSprite:
cria um sprite de um arquivo
-
LoadSprite:
cria um sprite de um arquivo armazenado na memória virtual
(sobrecarga)
-
Destroy:
apaga o sprite
-
SetupSpriteRects:
divide o sprite em retângulos iguais
-
DrawSprite:
desenha o sprite
-
DrawShapedSprite:
desenha o sprite
redimensionado
-
StretchSprite:
estica o sprite de um ponto a outro
-
SetSpriteOrigin:
especifica o ponto central do sprite
-
SetSpriteOrigin:
especifica o ponto central do sprite
(sobrecarga)
-
SetRect:
define um retângulo de recorte para o sprite
-
SetRect:
define um retângulo de recorte para o sprite
(sobrecarga)
-
SetRect:
define um retângulo de recorte para o sprite
(sobrecarga)
-
GetRect:
define um retângulo de recorte para o sprite
(sobrecarga)
-
GetNumRects:
retorna a quantidade de retângulos do sprite
-
UnsetRect:
apaga os retângulos pré-armazenados
-
FlipX:
inverte o sprite horizontalmente
-
FlipX:
inverte o sprite horizontalmente
(sobrecarga)
-
FlipY:
inverte o sprite verticalmente
-
FlipY:
inverte o sprite verticalmente (sobrecarga)
-
GetFlipX:
informa se o sprite encontra-se invertido horizontalmente
-
GetFlipY:
informa se o sprite encontra-se invertido verticalmente
-
GetProfile:
retorna informações do sprite
-
GetBitmapSize:
retorna o tamanho do bitmap do sprite
-
GetBitmapSizeF:
retorna o tamanho do bitmap do sprite
-
GetTexture:
retorna um ponteiro para a textura do sprite
-
SetScroll:
realiza o rolamento do sprite
-
GetScroll:
retorna o valor de rolagem do sprite
-
SetMultiply:
multiplica a superfície do sprite
-
GetMultiply:
retorna o valor de multiplicação da superfície do sprite
-
CreateRenderTarget:
cria um render target
-
GenerateBackup:
salva uma cópia do render target na memória do sistema
-
GetType:
retorna o tipo do sprite
-
SetAsTexture:
define o sprite como textura para multitexturização
-
GetCurrentOrigin:
retorna a posição da origem do sprite
};
class
GAMESPACE_AUDIO_HANDLER
{
};
class
GS_AUDIO_SAMPLE
{
-
LoadSample:
carrega uma faixa de áudio de um arquivo
-
LoadSample:
carrega uma faixa de áudio de um arquivo armazenado na memória
virtual
(sobrecarga)
-
Destroy:
apaga a faixa de áudio
-
GetStatus:
retorna o estado de reprodução da faixa
-
GetType:
retorna o tipo da faixa
-
Play:
reproduz a faixa
-
IsPlaying:
informa se a faixa está sendo tocada
-
SetLoop:
configura o modo de repetição da faixa
-
GetLoop:
informa se a faixa está em modo de repetição
-
Pause:
pausa a reprodução da faixa
-
Stop:
pára a reprodução da faixa
-
SetVolume:
altera o volume da faixa
-
GetVolume:
retorna o valor de volume da faixa
-
SetSpeed:
altera a velocidade/freqüência da faixa
-
GetSpeed:
informa a velocidade/freqüência da faixa
-
SetPan:
ajusta a posição da faixa
-
GetPan:
informa a posição da faixa
};
class
GAMESPACE_MEDIA_PLAYER
{
};
class
GAMESPACE_VIDEO_HANDLER
-
GS_VIDEO_MODE GAMESPACE_VIDEO_HANDLER::GetVideoMode(int
nMode)
Este método disponibiliza ao usuário a lista com todos os modos de
vídeo suportados pela placa de vídeo primária e o monitor (ex.:
640x480x16, 800x600x16, 1024x768x16, ...). nMode é o valor do
modo de vídeo dentro do índice interno e pode estar entre 0 e
GAMESPACE_VIDEO_HANDLER::GetVideoModeCount()-1.
O valor de retorno é uma estrutura
GS_VIDEO_MODE
correspondente ao modo escolhido com nMode.
Para obter uma lista com todos os modos de vídeo suportados, siga o
seguinte exemplo:
const int
total_de_modos = gsVideo.GetVideoModeCount();
for (int t=0; t<total_de_modos; t++)
{
GS_VIDEO_MODE mode = gsVideo.GetVideoMode(t);
fazer_algo(mode);
}
Consulte a pasta de exemplos do SDK para um exemplo de uso deste método.
Nota importante: no momento em que esta documentação é
disponibilizada (veja a data no cabeçalho da página), o recurso de
enumeração de modos de vídeo está disponível somente para a versão
Windows da GameSpaceLib.
-
int
GAMESPACE_VIDEO_HANDLER::GetVideoModeCount()
Retorna a quantidade de modos de vídeo suportados pela placa de vídeo e
o monitor.
Nota importante: no momento em que esta documentação é
disponibilizada (veja a data no cabeçalho da página), o recurso de
enumeração de modos de vídeo está disponível somente para a versão
Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::StartApplication
(
int x,
int y,
char *szWinTitle,
bool bWindowed,
bool
bSync,
GS_PIXEL_FORMAT pfBB = GSPF_UNKNOWN,
bool bMaximizable = false
)
Abre uma nova janela e a
prepara para os gráficos.
const int x
Largura em pixels da janela
const int y
Altura em pixels da janela
char *szWinTitle
String terminada em NULL que
define o título da janela
const bool bWindowed
true para modo janela e
false para modo fullscreen
const bool bSync
true para habilitar o
trancamento da taxa de quadros por segundo em 60 e false para
desenhar cada quadro imediatamente
const GS_PIXEL_FORMAT pfBB
Constante que especifica a
quantidade de bits para cor do back buffer. Ver
GS_PIXEL_FORMAT.
const bool bMaximizable
true para habilitar o botão
"Maximize" da janela e false para desabilitar.
Caso seja escolhido o modo fullscreen, tenha certeza de que seu monitor
e a placa de vídeo suportem a dimensão de janela definida em x e y.
Só é permitida uma janela por aplicação. Para abrir uma nova janela é
necessário que a antiga seja encerrada com
GAMESPACE_VIDEO_HANDLER::Destroy.
-
void
GAMESPACE_VIDEO_HANDLER::QuitApplication()
Envia um sinal interno requisitando o fechamento do programa. Esse
método força GAMESPACE_VIDEO_HANDLER::SetupProc
a retornar GSPROC_QUIT e
GAMESPACE_VIDEO_HANDLER::ManageLoop a
retornar false.
-
bool
GAMESPACE_VIDEO_HANDLER::ManageLoop()
Trata automaticamente dos eventos do sistema, exibe o que está no back
buffer (se houver algo) e prepara o back buffer para o desenho direto de
sprites.
Retorna true caso tenha obtido sucesso ou false caso o
usuário do programa tenha requisitado seu encerramento.
Este método foi implementado à partir da versão 1.4.0 da GSlib e foi
escrito para ser chamado uma vez a cada execução do laço principal do
programa para executar todas as operações de back/front buffer e
tratamento de mensagens.
À partir da versão 1.4.0 recomenda-se o uso desse método ao invés de
aplicar SetupProc, BeginSpriteScene e EndSpriteScene manualmente.
Os laços principais nas versões anteriores seguiam a seguinte lógica:
for (;;)
{
// forma obsoleta
de laço principal da GSlib:
const GS_PROC_STATUS status = gsVideo.SetupProc();
if (status == GSPROC_QUIT)
break;
else
if (status == GSPROC_SKIP)
continue;
gsVideo.BeginSpriteScene(GS_ARGB(255,0,64,128));
// Desenha tudo...
gsVideo.EndSpriteScene();
gsInput.UpdateInputData();
}
Agora, com a implementação do método ManageLoop, o laço principal fica
simplesmente assim:
while (gsVideo.ManageLoop())
{
gsInput.UpdateInputData();
//
Desenha tudo...
}
Apesar de recomendado, o uso do método ManageLoop é opcional, e
programas que utilizam a forma antiga de laço ainda funcionarão
normalmente.
-
bool
GAMESPACE_VIDEO_HANDLER::ResetVideoMode(GS_VIDEO_MODE
mode, bool bToogleFullscreen)
Redefine a resolução da tela ou janela para a configuração
especificada em mode. Veja
GS_VIDEO_MODE.
Este método pode ser usado para permitir que o usuário escolha a
resolução da tela ou da janela, em tempo do execução, sem alterar em
nada o andamento do programa.
Se bToogleFullscreen for true, então o modo de janela será
trocado: se estiver em janela irá para fullscreen e se estiver em
fullscreen irá para janela.
Este método deve ser chamado somente se a janela ou tela fullscreen já
foi criada e não pode ser chamado entre os métodos
GAMESPACE_VIDEO_HANDLER::BeginSpriteScene e EndSpriteScene. Consulte a pasta de exemplos do SDK para um exemplo de uso deste método.
-
bool
GAMESPACE_VIDEO_HANDLER::ResetVideoMode(int
x, int y, GS_PIXEL_FORMAT pfBB, bool bToogleFullscreen)
Redefine a resolução da tela ou janela. Define a largura para x,
a altura para y e o modo de cor para pfBB. Veja
GS_PIXEL_FORMAT.
Se bToogleFullscreen for true, então o modo de janela será
trocado: se estiver em janela irá para fullscreen e se estiver em
fullscreen irá para janela.
Este método pode ser usado para permitir que o usuário escolha a
resolução da tela ou da janela, em tempo do execução, sem alterar em
nada o andamento do programa.
Este método deve ser chamado somente se a janela ou tela fullscreen já
foi criada e não pode ser chamado entre os métodos
GAMESPACE_VIDEO_HANDLER::BeginSpriteScene e EndSpriteScene.
Consulte a pasta de exemplos do SDK para um exemplo de uso deste método.
-
bool
GAMESPACE_VIDEO_HANDLER::SetWindowTitle(char *szTitle)
Redefine o título da janela. String terminada em '\0' (NULL)
pode possuir até 512 caracteres.
-
bool
GAMESPACE_VIDEO_HANDLER::GetWindowTitle(char
*szOutTitle)
Coloca em szOutTitle o atual título da janela. É de
responsabilidade do programador não permitir que a dimensão da
string passada como parâmetro seja menor que a quantidade de
caracteres no título mais um (para o caractere '\0' (NULL)).
-
bool GAMESPACE_VIDEO_HANDLER::WindowVisible() Somente útil no modo de janela (windowed). Retorna
false se a
janela estiver minimizada e true se estiver maximizada.
-
bool GAMESPACE_VIDEO_HANDLER::WindowInFocus() Somente útil no modo de janela (windowed). Retorna
true se a
janela estiver com o foco no sistema e false se não estiver com o
foco.
-
GS_VECTOR2i
GAMESPACE_VIDEO_HANDLER::GetScreenDim()
Retorna a largura e altura da janela.
-
GS_VECTOR2
GAMESPACE_VIDEO_HANDLER::GetScreenDimF()
Retorna a largura e altura da janela.
-
GS_PROC_STATUS
GAMESPACE_VIDEO_HANDLER::SetupProc()
Este método é obsoleto:
MAIS
INFORMAÇÕES
Retorna uma instrução do sistema operacional para o programa. Deve
ser verificado antes de executar qualquer outra operação dentro do laço
central da aplicação. As possibilidades de retorno são as seguintes:
GSPROC_OK: informa que o quadro pode ser executado e desenhado
normalmente. GSPROC_QUIT: informa que o usuário executou um comando para fechar a
janela. GSPROC_SKIP: informa que a execução do quadro atual assim como seu
desenho devem ser pulados. Este valor é retornado quando a janela está
minimizada ou fora do foco do sistema.
É fundamental que SetupProc
esteja presente logo no início de cada laço e que seja utilizado
corretamente (conforme os exemplos) pois é esta função a responsável por
realizar as operações de recuperação de modo de vídeo.
-
void
GAMESPACE_VIDEO_HANDLER::Destroy()
Apaga todos os dados que foram alocados pelo objeto e fecha a
janela.
-
unsigned long
GAMESPACE_VIDEO_HANDLER::GetElapsedTime(GS_TIME_UNITY
unity = GSTU_MILLISECONDS)
Retorna o tempo que se passou desde que a janela foi iniciada
(do exato momento em que
GAMESPACE_VIDEO_HANDLER::StartApplication foi concluída). O
parâmetro unity informa se a função deve retornar este tempo em
milisegundos, segundos, minutos ou horas. Veja
GS_TIME_UNITY.
O valor de retorno dessa função será do tipo inteiro, sendo que 1.9
será arredondado para 1. Para obter mais precisão de timer, utilize
GAMESPACE_VIDEO_HANDLER::GetElapsedTimeF.
-
float
GAMESPACE_VIDEO_HANDLER::GetElapsedTimeF(GS_TIME_UNITY
unity = GSTU_MILLISECONDS)
Retorna o tempo que se passou desde que a janela foi iniciada (do
exato momento em que GAMESPACE_VIDEO_HANDLER::StartApplication
foi concluída). O parâmetro unity informa se a função deve retornar
este tempo em milisegundos, segundos, minutos ou horas. Veja
GS_TIME_UNITY.
O valor de retorno dessa função possuirá ponto flutuante, sendo 1.5f
de hora equivalente a uma hora e meia.
-
void
GAMESPACE_VIDEO_HANDLER::SetWindowPosition(GS_VECTOR2i
v2) Define uma nova posição para a janela com relação à tela do computador.
Este método pode ser chamado antes de GAMESPACE_VIDEO_HANDLER::StartApplication,
dessa forma a janela já será exibida na posição pré-definida
inicialmente.
Caso o modo tela-cheia (fullscreen) esteja sendo utilizado, este método
será ignorado.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
GS_VECTOR2i
GAMESPACE_VIDEO_HANDLER::GetWindowPosition()
Retorna a posição, em pixels, da janela com relação a tela do
computador.
-
GS_VECTOR2i
GAMESPACE_VIDEO_HANDLER::GetSystemScreenDim()
Este método retorna a resolução (largura x e altura y), em
pixels, da tela do sistema. Quando a aplicação está em modo
fullscreen, esse valor passa a ser igual à a resolução do
back-buffer. Já em modo windowed, a resolução do sistema é mantida
independentemente da resolução do back-buffer.
Com este método é possível centralizar a janela da aplicação de
acordo com a tela do sistema operacional.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
void
GAMESPACE_VIDEO_HANDLER::Message ( char
*szText, GS_MESSAGE_TYPE type ) Exibe uma mensagem em caixa de texto para o usuário. A execução do
programa será interrompida até que o botão OK seja pressionado.
szText corresponde ao texto a ser exibido na mensagem. type
corresponde ao tipo da mensagem, veja
GS_MESSAGE_TYPE.
-
bool
GAMESPACE_VIDEO_HANDLER::PrintText ( GS_VECTOR2
v2Pos, char *szText, char *szFont, float fSize,
GS_COLOR dwColor ) Desenha uma string na tela.
GS_VECTOR2 v2Pos
Pontos X e Y onde começará a
string const char *szText
String terminada em NULL a ser
desenhada na tela const char *szFont
String terminada em NULL que
informa o nome da fonte. As fones disponíveis são as mesmas do sistema
(pasta $WINDOWS\Fonts). Para utilizar bitmap fonts ao invés de fontes
true-type basta especificar o nome do bitmap (ex.:
"Space_font.png"). A fonte em bitmap precisa possuir todos os 256
elementos da tabela ASCII ordenados em ordem crescente e estarem
organizados na forma de grade de 16x16 caracteres. const float fSize
Escala da fonte. Se szFont estiver especificando uma fonte de
bitmap, este valor pode ser definido como 0.0f para manter o tamanho
original da fonte no bitmap. GS_COLOR dwColor
Cor da fonte no formato
hexadecimal 32-bit (alpha/r/g/b - 0xAARRGGBB)
Ver
GS_COLOR.
Dica de portabilidade: caso você não esteja utilizando a versão
Windows da GameSpaceLib, certifique-se de que o arquivo TTF
(TrueType) da fonte especificada seja definido com o caminho
relativo ao executável do projeto (exemplo:
fontes_do_jogo\Verdana.ttf).
-
bool
GAMESPACE_VIDEO_HANDLER::SetTextRect(GS_VECTOR2i
rect) Define o tamanho x (largura) e y (altura), em pixels, do
retângulo de recorte do texto. Após a chamada desse método, todo o
texto desenhado com
GAMESPACE_VIDEO_HANDLER::PrintText que exceder a
altura e largura do retângulo, será cortado (os pixels não serão
desenhados). Utilize o método
GAMESPACE_VIDEO_HANDLER::UnsetTextRect para desfazer o
que foi criado por este método e permitir que todo o texto seja
desenhado sempre.
-
GS_VECTOR2i
GAMESPACE_VIDEO_HANDLER::GetTextRect() Retorna a altura (y) e largura (x) do retângulo de recorte de texto
definido em
GAMESPACE_VIDEO_HANDLER::SetTextRect.
-
void GAMESPACE_VIDEO_HANDLER::UnsetTextRect()
Desfaz as operações feitas por
GAMESPACE_VIDEO_HANDLER::SetTextRect e permite que todo o
texto seja desenhado por completo na tela.
-
bool GAMESPACE_VIDEO_HANDLER::SetScissor(GS_2DRECT
rect) Define o retângulo de recorte geral da tela. Se este método for
utilizado, os pixels dos próximos sprites a serem desenhados só
serão desenhados se estiverem dentro do retângulo aqui definido.
Utilize o método
GAMESPACE_VIDEO_HANDLER::UnsetScissor
para desfazer o que foi criado por este método e permitir que todos
os sprites sejam desenhados em todo o back buffer.
-
GS_2DRECT GAMESPACE_VIDEO_HANDLER::GetScissor() Retorna do retângulo de recorte atual, definido pela função
GAMESPACE_VIDEO_HANDLER::SetScissor.
-
void GAMESPACE_VIDEO_HANDLER::UnsetScissor() Desfaz a operação feita por
GAMESPACE_VIDEO_HANDLER::SetScissor. Todos os sprites
serão desenhados em todo o back buffer. O valor interno do retângulo
será zerado, dessa forma, o método
GAMESPACE_VIDEO_HANDLER::GetScissor retornará um retângulo
zerado.
-
void
GAMESPACE_VIDEO_HANDLER::SetBGColor(GS_COLOR dwBGColor)
Define a cor padrão no formato
hexadecimal (alpha/r/g/b - 0xAARRGGBB) que será utilizada para limpar o
back buffer caso o argumento de GAMESPACE_VIDEO_HANDLER::BeginSpriteScene seja omitido.
Ver GS_COLOR.
-
GS_COLOR
GAMESPACE_VIDEO_HANDLER::GetBGColor() Retorna a cor padrão do fundo da tela. Este valor é definido para
todos pixels do back buffer toda vez que os métodos GAMESPACE_VIDEO_HANDLER::EndScene ou
GAMESPACE_VIDEO_HANDLER::EndSpriteScene são chamados. Ver
GS_COLOR.
-
bool
GAMESPACE_VIDEO_HANDLER::BeginSpriteScene(GS_COLOR dwBGColor =
GS_COLOR(0,0,0,0))
Este método é obsoleto:
MAIS
INFORMAÇÕES
Inicia o processo de desenho gráfico. Deve ser chamado toda a vez que o
processo de desenho for iniciado em cada quadro no laço principal. dwBGColor define a cor no formato hexadecimal (alpha/r/g/b -
0xAARRGGBB) que será utilizada para limpar o back buffer. Ver
GS_COLOR.
-
bool
GAMESPACE_VIDEO_HANDLER::EndSpriteScene()
Este método é obsoleto:
MAIS INFORMAÇÕES
Finaliza o processo iniciado
por GAMESPACE_VIDEO_HANDLER::BeginSpriteScene e encerra o
processo de desenho.
-
bool
GAMESPACE_VIDEO_HANDLER::DrawLine ( GS_VECTOR2
p1, GS_VECTOR2 p2, GS_COLOR dwColor1, GS_COLOR dwColor2 )
Desenha uma reta na tela.
GS_VECTOR2 p1
Posição, em pixels, do ponto A da
reta. GS_VECTOR2 p2
Posição, em pixels, do ponto B da
reta. GS_COLOR dwColor1
Cor, em ARGB, do ponto A da reta. GS_COLOR dwColor2
Cor, em ARGB, do ponto B da reta. As cores do ponto A e B da reta serão interpolados de uma ponta a outra.
Ver GS_COLOR.
-
void GAMESPACE_VIDEO_HANDLER::SetLineWidth(const
float fWidth) Define a largura, em pixels, da linha a ser desenhada com
GAMESPACE_VIDEO_HANDLER::DrawLine. O valor padrão é
1.0f.
-
float GAMESPACE_VIDEO_HANDLER::GetLineWidth() Retorna a largura atual da linha. Valor definido por
GAMESPACE_VIDEO_HANDLER::SetLineWidth.
-
bool
GAMESPACE_VIDEO_HANDLER::DrawRectangle ( GS_VECTOR2
v2Pos, GS_VECTOR2 v2Size,
GS_COLOR
dwColor0,
GS_COLOR
dwColor1,
GS_COLOR
dwColor2,
GS_COLOR
dwColor3, float fAngle = 0.0f, GS_SPRITE_ORIGIN origin = GSSO_DEFAULT )
Desenha um retângulo na tela.
GS_VECTOR2 v2Pos Posição, em pixels, da
origem do retângulo. A origem do retângulo dependerá do que for
passado em origin. GS_VECTOR2 v2Size
Tamanho, em pixels, do retângulo.
GS_COLOR dwColor0 Cor, em ARGB, do
vértice superior esquerdo do retângulo.
GS_COLOR dwColor1 Cor, em ARGB, do
vértice superior direito do retângulo.
GS_COLOR dwColor2 Cor, em ARGB, do
vértice inferior esquerdo do retângulo.
GS_COLOR dwColor3 Cor, em ARGB, do
vértice inferior direito do retângulo.
const float fAngle Ângulo, em graus, de rotação para o retângulo.
GS_SPRITE_ORIGIN origin
Ponto de origem, em pixels, para a orientação e rotação do
retângulo. Ver
GS_SPRITE_ORIGIN.
Caso sejam enviadas cores diferentes como parâmetro, elas serão
interpoladas suavemente entre os vértices do quadrado. O
valor alpha de transparência dos vértices também será interpolado.
Ver
GS_COLOR.
-
bool
GAMESPACE_VIDEO_HANDLER::DrawRectangle(GS_VECTOR2
v2Pos, GS_VECTOR2 v2Size, GS_COLOR dwColor, float fAngle =
0.0f, GS_SPRITE_ORIGIN origin = GSSO_DEFAULT) Desenha um retângulo na tela.
GS_VECTOR2 v2Pos
Posição, em pixels, da origem do retângulo. A origem do retângulo
dependerá do que for passado em origin. GS_VECTOR2 v2Size
Tamanho, em pixels, do retângulo.
GS_COLOR dwColor Cor, em ARGB, do
retângulo. const float fAngle
Ângulo, em graus, de rotação para o retângulo.
GS_SPRITE_ORIGIN origin
Ponto de origem, em pixels, para a orientação e rotação do
retângulo. Ver
GS_SPRITE_ORIGIN.
Ver GS_COLOR.
-
bool
GAMESPACE_VIDEO_HANDLER::DrawTriangleFan
(
int nVertexCount,
GS_2DVERTEX *pVertex,
GS_VECTOR2 v2Pos,
float fAngle = 0.0f
)
Desenha um ou mais triângulos em
formato de
triangle fan.
int nVertexCount
Total de vértices contidos em pVertex.
GS_2DVERTEX *pVertex
Ponteiro para a array de vértices (no mínimo três).
GS_VECTOR2 v2Pos
Posição, em pixels, da origem dos triângulos. const float fAngle
Ângulo, em graus, de rotação para os vértices.
Veja GS_2DVERTEX.
-
bool
GAMESPACE_VIDEO_HANDLER::SetAlphaMode(GS_ALPHA_MODE mode)
Altera o modo de calcular a transparência dos sprites. Toda a vez
que o método GAMESPACE_VIDEO_HANDLER::BeginSpriteScene for
chamada, o valor é definido para GSAM_PIXEL. Ver
GS_ALPHA_MODE.
-
GS_ALPHA_MODE
GAMESPACE_VIDEO_HANDLER::GetAlphaMode() Retorna o modo de transparência atual. Este valor pode ser alterado
com
GAMESPACE_VIDEO_HANDLER::SetAlphaMode. Ver
GS_ALPHA_MODE.
-
bool GAMESPACE_VIDEO_HANDLER::SetFilterMode(const
GS_TEXTUREFILTER_MODE tfm)
Define o critério para aplicação de filtro nas texturas
(superfície de pixels dos sprites). Filtros são o que suavizam e
tiram o aspecto "pixelado" das imagens quando são rotacionadas ou
escaladas. O valor padrão (inicial) é GSTM_IFNEEDED. Veja
GS_TEXTUREFILTER_MODE.
-
GS_TEXTUREFILTER_MODE GAMESPACE_VIDEO_HANDLER::GetFilterMode()
Retorna o critério atualmente usado pela biblioteca para
aplicação de filtro nas texturas (superfície de pixels dos sprites).
Veja
GS_TEXTUREFILTER_MODE.
-
bool
GAMESPACE_VIDEO_HANDLER::HideCursor(bool bHide)
true para esconde o
cursor do mouse quando estiver sobre a janela e false para
exibir.
-
bool
GAMESPACE_VIDEO_HANDLER::IsCursorHidden()
Retorna true se o
cursor do mouse estiver escondido e false caso contrário.
-
bool
GAMESPACE_VIDEO_HANDLER::Rendering(bool
bHide) Retorna true
se a aplicação estiver no processo de desenho de sprites (BeginSpriteScene
foi chamada e EndSpriteScene ainda não). Caso contrário
retorna false.
-
float
GAMESPACE_VIDEO_HANDLER::GetFPSRate()
Retorna o valor aproximado da
atual taxa de quadros por segundo.
-
bool GAMESPACE_VIDEO_HANDLER::SaveScreenshot(const
char *szName, const GS_BITMAP_FORMAT fmt = GSSF_BMP, GS_2DRECT
rect = GS_2DRECT(0,0,0,0))
Salva uma "foto" da tela e armazena no diretório e com o nome
que for especificado em szName. Em fmt pode ser
definido um formato de arquivo de imagem. Um retângulo em rect
pode ser emitido para recortar uma área específica da tela.
Nota importante: no momento em que esta documentação
foi disponibilizada (veja a data no cabeçalho da página), somente a
versão para Windows da GameSpaceLib suporta salvar screenshots em
formato JPG (GSSF_JPG).
-
void
GAMESPACE_VIDEO_HANDLER::EnableQuitKeys(bool bEnable)
bEnable deve ser false para desabilitar o Alt+F4 e
true para reabilitar. O valor padrão é true.
Se esse método for utilizado para desabilitar o fechamento do
programa via Alt+F4 em uma janela fullscreen, a única forma segura
de fechar o programa será através do método
GAMESPACE_VIDEO_HANDLER:: QuitApplication.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::QuitKeysEnabled()
Retorna true se o Alt+F4 estiver habilitado, caso
contrário retorna false.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool GAMESPACE_VIDEO_HANDLER::SetRenderTarget(GS_SURFACE_HANDLE
pTarget, int nTarget = 0)
Define o sprite que receberá os desenhos no lugar do back
buffer. Este método é utilizado para aplicar desenhos em sprites do
tipo render target.
Em pTarget deve ser passado o valor retornado pelo método
GS_SPRITE::GetTexture de um sprite
válido do tipo render target (criado com
GS_SPRITE::CreateRenderTarget).
nTarget corresponde ao alvo onde queremos indexar o render
target. O valor padrão é 0. Um valor superior a 0 para nTarget
o fará somente acessível através de pixel shaders.
Caso o sprite passado não tenha sido criado como render target (GS_SPRITE::CreateRenderTarget)
este método irá falhar.
Os métodos
GAMESPACE_VIDEO_HANDLER::BeginTargetScene e
GAMESPACE_VIDEO_HANDLER:: EndTargetScene
devem ser utilizados para iniciar e encerrar o desenho no render
target.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool GAMESPACE_VIDEO_HANDLER::BeginTargetScene(GS_COLOR
dwBGColor = GS_ZERO, bool bClear = true)
Inicia o processo de desenho em um render target. Este método
deve ser utilizado após
GAMESPACE_VIDEO_HANDLER::SetRenderTarget, que define o
sprite que receberá os desenhos no lugar do back buffer.
Se bClear for igual a true, o alvo não terá seu
conteúdo apagado.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool GAMESPACE_VIDEO_HANDLER::EndTargetScene()
Encerra o processo de desenho em um render target. Veja
GAMESPACE_VIDEO_HANDLER::
BeginTargetScene.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
int GAMESPACE_VIDEO_HANDLER::GetMaxRenderTargets()
Retorna o máximo de render targets múltiplos suportados pelo
sistema. Esses alvos são somente acessíveis através de pixel
shaders. Veja
GAMESPACE_VIDEO_HANDLER::SetRenderTarget.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
int
GAMESPACE_VIDEO_HANDLER::GetProgramPath(char
*szPath) Copia ao no string passado como parâmetro o caminho
do diretório onde o executável que está rodando a GameSpaceLib se
encontra. Ex.: "C:\Arquivos
de programas\Meu jogo\Bin\".
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::SetCameraPos(const
GS_VECTOR2 pos)
Define a posição da câmera 2D. O ponto inicial padrão da câmera é
(0,0). Ao manipular esse valor todos os sprites se deslocarão na
direção contrária, simulando o efeito de scroll de câmera.
O scroll é realizado dentro do shader padrão da GameSpaceLib e é
aplicado somente às sprites (não afetando, por padrão, retângulos,
linhas ou demais polígonos).
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::MoveCamera(const
GS_VECTOR2 dir)
Desloca a câmera 2D somando os valores de dir à posição
interna da câmera. Provocando o scroll de todos os sprites. Ver
GAMESPACE_VIDEO_HANDLER::SetCameraPos.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
GS_VECTOR2
GAMESPACE_VIDEO_HANDLER::GetCameraPos()
Retorna a posição interna da câmera. Ver
GAMESPACE_VIDEO_HANDLER::SetCameraPos.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
int
GAMESPACE_VIDEO_HANDLER::GetMaxMultitextures()
Retorna a quantidade máxima de texturas simultâneas permitidas
para os sprites.
Multitexturas podem ser utilizadas para combinar várias imagens na
superfície de um único sprite. Ideal para criar lightmaps entre
outros efeitos.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::SetBlendMode(int
nPass, GS_BLEND_MODE mode)
Seta o tipo de cálculo que será utilizado para combinar as texturas
simultâneas do sprite. nPass é o estágio de textura (à partir
de 1) que será manipulado. Os valores possíveis para mode
são:
-GSBM_ADD: a cor dos pixels da textura que for enviada nesse
estágio será somada à textura corrente.
-GSBM_MODULATE: a cor dos pixels da textura que for enviada
nesse estágio será multiplicada à textura corrente.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
GS_BLEND_MODE
GAMESPACE_VIDEO_HANDLER::GetBlendMode(int
nPass)
Retorna o tipo de cálculo que será utilizado para calcular a
combinação da cor da textura do estágio nPass. Veja
GAMESPACE_VIDEO_HANDLER::SetBlendMode.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::UnsetTexture(int
nPass)
Desliga a textura enviada no estágio nPass. Veja
GAMESPACE_VIDEO_HANDLER::SetBlendMode.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::SetClamp(bool
bSet)
Set bSet for true, liga o texture-clamping. Caso
contrário, desliga-o. Quando o texture-clamping está ligado, as
coordenadas UV da textura dos sprite é trancada entre 0 e 1, isso
significa que se a textura sofrer scroll
ou for multiplicada, a imagem não
irá se repetir sobre a superfície do sprite.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::GetClamp()
Retorna true se o texture-clamping estiver ligado, false
caso contrário. Veja
GAMESPACE_VIDEO_HANDLER::SetClamp.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::SetSpriteDepth(float
fDepth)
Especifica um valor (de 0.0f a 1.0f) para a profundidade dos pixels
do sprite. Caso o
z-test e o
z-write estejam ligados, os sprites com
menor valor de depth (profundidade) serão desenhados na frente.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
float
GAMESPACE_VIDEO_HANDLER::GetSpriteDepth()
Retorna a profundidade atual do sprite no z-buffer. Veja
GAMESPACE_VIDEO_HANDLER::SetSpriteDepth.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::SetZBuffer(bool
bEnable)
Liga/desliga o z-test. Caso o z-test e o
z-write estejam ligados, os sprites com menor valor de depth
(profundidade) serão desenhados na frente. Veja
GAMESPACE_VIDEO_HANDLER::SetSpriteDepth.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::GetZBuffer()
Retorna true se o z-test estiver ligado e false caso
contrário. Veja
GAMESPACE_VIDEO_HANDLER::
SetZBuffer.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::SetZWrite(bool
bEnable)
Liga/desliga o z-write. Quando o z-write está desligado e o
z-test ligado, os sprites sofrem z-test porém não adicionam novos
valores de profundidade ao z-buffer.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::GetZWrite()
Retorna true se o z-write estiver ligado e false caso
contrário. Veja
GAMESPACE_VIDEO_HANDLER::
SetZWrite.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
void
GAMESPACE_VIDEO_HANDLER::SetRectMode(GS_RECT_MODE
mode) Altera a quantidade de primitivas que serão usadas para
desenhar os sprites. Esta mudança permite diferentes efeitos de
distorção com vertex shaders. Veja
GS_RECT_MODE.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
GS_RECT_MODE
GAMESPACE_VIDEO_HANDLER::GetRectMode()
Informa a quantidade de primitivas que estão sendo usadas para
desenhar os sprites. Veja
GS_RECT_MODE.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
void
GAMESPACE_VIDEO_HANDLER::RoundUpPosition(const
bool bRoundUp)
true para que a posição final do sprite seja arredondada
para um valor inteiro sempre que for desenhado, evitando
desalinhamento pixel-texel. O valor padrão é false.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GAMESPACE_VIDEO_HANDLER::IsRoundingUpPosition()
Retorna true se a posição final dos sprites está sendo
arredondada.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
class
GAMESPACE_INPUT_HANDLER
-
bool GAMESPACE_INPUT_HANDLER::RegisterInputDevice(void
*pData)
Cria e prepara o objeto
para receber os comandos dos dispositivos de entrada: teclado, mouse
e joysticks (se houver algum conectado ao computador). pData
é reservado e deve ser definido como NULL.
-
bool
GAMESPACE_INPUT_HANDLER::UpdateInputData()
Atualização interna para
controle dos dispositivos de entrada. Deve ser chamada uma vez a
cada quadro no laço principal.
-
void GAMESPACE_INPUT_HANDLER::Destroy()
Apaga a memória alocada pelo objeto. Deve ser chamada antes de
encerrar o programa.
-
GS_KEY_STATE GAMESPACE_INPUT_HANDLER::KeyState(GS_KEY GSKey)
Retorna o estado da tecla
definida em GSKey. Consulte
GS_KEY.
-
bool GAMESPACE_INPUT_HANDLER::KeyDown(GS_KEY GSKey)
Retorna true caso a
tecla esteja sendo pressionada, caso contrário retorna false.
-
GS_VECTOR2i
GAMESPACE_INPUT_HANDLER::GetMouseMove()
Retorna um valor de x e y que corresponde à
direção, em pixels em screen space, percorrida pelo mouse
neste frame.
-
GS_VECTOR2 GAMESPACE_INPUT_HANDLER::GetMouseMoveF()
Retorna o mesmo valor que GAMESPACE_INPUT_HANDLER::GetMouseMove
porém convertido em float.
-
GS_KEY_STATE GAMESPACE_INPUT_HANDLER::GetLeftClickState()
Retorna o estado do botão esquerdo do mouse. Consulte
GS_KEY_STATE.
-
GS_KEY_STATE GAMESPACE_INPUT_HANDLER::GetRightClickState()
Retorna o estado do botão direito do mouse. Consulte
GS_KEY_STATE.
-
GS_KEY_STATE GAMESPACE_INPUT_HANDLER::GetMiddleClickState()
Retorna o estado do botão do meio do mouse. Consulte
GS_KEY_STATE.
-
bool GAMESPACE_INPUT_HANDLER::SetCursorTo(GS_VECTOR2i
v2Pos)
Reposiciona o cursos do
mouse (do sistema operacional) em outro ponto da tela. A instrução
só será executada quando GAMESPACE_INPUT_HANDLER::UpdateInputData
for chamada.
-
bool GAMESPACE_INPUT_HANDLER::SetCursorToF(GS_VECTOR2
v2Pos)
Reposiciona o cursos do
mouse (do sistema operacional) em outro ponto da tela. A instrução
só será executada quando GAMESPACE_INPUT_HANDLER::UpdateInputData
for chamada.
-
GS_VECTOR2i GAMESPACE_INPUT_HANDLER::GetCursor(GAMESPACE_VIDEO_HANDLER
*pVideo)
Retorna a posição, em pixels, do cursor do sistema na tela. Se
pVideo for igual a NULL, a posição do cursor será relativa a
toda a tela do computador. Se pVideo informar um endereço
válido, a função retornará a posição do cursor com relação à janela
correspondente ao objeto GAMESPACE_VIDEO_HANDLER passado.
Recomendado para "picking" em modo de janela (windowed).
-
GS_VECTOR2 GAMESPACE_INPUT_HANDLER::GetCursorF(GAMESPACE_VIDEO_HANDLER
*pVideo)
Retorna a posição, em pixels, do cursor do sistema na tela. Se
pVideo for igual a NULL, a posição do cursor será relativa a
toda a tela do computador. Se pVideo informar um endereço
válido, a função retornará a posição do cursor com relação à janela
correspondente ao objeto GAMESPACE_VIDEO_HANDLER passado.
Recomendado para "picking" em modo de janela (windowed).
-
float GAMESPACE_INPUT_HANDLER::GetWheelState()
Retorna o estado atual do mouse wheel (tambem conhecido por
mouse scroll, ou simplesmente roda do mouse). Retorna
0.0f caso a roda esteja parada e 1.0f ou -1.0f caso esteja sendo
rotacionada. O estado do mouse wheel só é atualizado quando o método
GAMESPACE_VIDEO_HANDLER::SetupProc é atualizada.
-
bool GAMESPACE_INPUT_HANDLER::DetectJoysticks()
Atualiza os dados internos do objeto com relação a possíveis
joysticks que estejam conectados ao computador.
Este método pode ser utilizado para detectar joysticks que foram
conectados durante a execução do programa. Este método é chamado
automaticamente quando
GAMESPACE_INPUT_HANDLER::RegisterInputDevice é executado.
Nota importante: nas versões da
GameSpaceLib cuja parte de entrada de dados seja baseada na SDL
(ex.: Linux), os joysticks que forem plugados DURANTE a execução do
programa não serão detectados, sendo necessário reiniciar a
aplicação para que estes sejam reconhecidos pelo sistema.
-
GS_JOYSTICK_STATUS GAMESPACE_INPUT_HANDLER::GetJoystickStatus(const
GS_JOYSTICKID id)
Retorna a informação do estado atual do joystick id (veja
GS_JOYSTICKID). Veja em
GS_JOYSTICK_STATUS os valores
possíveis.
-
int GAMESPACE_INPUT_HANDLER::GetNumJoyButtons(const
GS_JOYSTICKID id)
Retorna o número inteiro equivalente à quantidade total de
botões que o joystick id possui (veja
GS_JOYSTICKID).
-
GS_KEY_STATE GAMESPACE_INPUT_HANDLER::JoyButtonState(const
GS_JOYSTICKID id, const GS_JOYSTICK_BUTTON GSKey)
Retorna o estado (ver
GS_KEY_STATE)
do botão GSKey (ver
GS_JOYSTICK_BUTTON) do joystick id (ver
GS_JOYSTICKID).
-
bool
GAMESPACE_INPUT_HANDLER::JoyButtonDown(const
GS_JOYSTICKID id, const GS_JOYSTICK_BUTTON GSKey)
Retorna true se o botão GSKey (ver
GS_JOYSTICK_BUTTON) do joystick id (ver
GS_JOYSTICKID) estiver sendo
pressionado.
-
GS_VECTOR2 GAMESPACE_INPUT_HANDLER::GetJoystickXY(const
GS_JOYSTICKID id)
Retorna os valores dos eixos X e Y equivalentes ao direcional do
joystick (analógico ou não). O valor de cada eixo pode variar entre
0.0f e 1.0f.
-
float GAMESPACE_INPUT_HANDLER::GetJoystickZ(const
GS_JOYSTICKID id)
Retorna o valor do eixo Z equivalente à alavanca Z do joystick
(analógica ou não). O valor do eixo pode variar entre 0.0f e 1.0f.
Nem todos os joysticks possuem este eixo.
-
float GAMESPACE_INPUT_HANDLER::GetJoystickRudder(const
GS_JOYSTICKID id)
Retorna o valor do eixo R
equivalente ao volante do joystick. O valor do eixo pode variar
entre 0.0f e 1.0f. Nem todos os joysticks possuem este eixo.
-
GS_VECTOR2 GAMESPACE_INPUT_HANDLER::GetJoystickUV(const
GS_JOYSTICKID id)
Retorna os valores dos
eixos U e V equivalentes ao direcional secundário do joystick
(analógico ou não). O valor de cada eixo pode variar entre 0.0f e
1.0f. Nem todos os joysticks possuem este eixo.
-
GS_JOYSTICK_BUTTON GAMESPACE_INPUT_HANDLER::GetFirstButtonDown(const
GS_JOYSTICKID id)
Retorna o primeiro botão que estiver sendo pressionado. Este
método é útil para criar interfaces que permitam que o usuário
ajuste a própria configuração do joystick. Veja
GS_JOYSTICK_BUTTON.
-
int GAMESPACE_INPUT_HANDLER::GetMaxJoysticks()
Retorna a quantidade máxima de joysticks suportados pelo
sistema.
-
char GAMESPACE_INPUT_HANDLER::GetLastCharInput()
Retorna um caractere caso o usuário tenha digitado alguma tecla
que envia caracteres como mensagens ao sistema. Caso nada tenha sido
recém digitado, retorna '\0'.
class
GS_SPRITE
-
bool
GS_SPRITE::LoadSprite
(
GAMESPACE_VIDEO_HANDLER
*pVideo,
char *szFileName,
GS_COLOR dwMask = GS_COLOR(0,0,0,0),
int nWidth = 0,
int nHeight = 0
)
Esta função carrega um
bitmap em formato BMP, JPEG, PNG ou TGA e prepara-o para ser
utilizado como sprite.
GAMESPACE_VIDEO_HANDLER
*pVideo
Ponteiro para um objeto
GAMESPACE_VIDEO_HANDLER válido
Após criado, o sprite só poderá ser desenhado na
janela correspondente ao objeto aqui definido
const char *szFileName
String terminada em NULL que
corresponde ao nome completo do arquivo a ser carregado
GS_COLOR dwMask
Cor de fundo do sprite. Todos os
pixels que tiverem cor exatamente igual ao aqui definido serão
cortados do processo de desenho. Utilize
0x00000000 caso não hajam pixels a ser recortados ou
caso a imagem já possua seu próprio canal alpha
const int nWidth
Nova largura, em pixels, para o
bitmap. Defina 0 para manter a largura original do arquivo
Ver GS_COLOR.
Dica de
portabilidade: evite utilizar sprites cujo bitmap
ultrapasse a dimensão de 512x512 pixels.
-
bool
GS_SPRITE::LoadSprite
(
GAMESPACE_VIDEO_HANDLER
*pVideo,
char *szFileName,
GS_COLOR dwMask,
int nWidth,
int nHeight,
void *pBuffer, // utilizado para carregar
sprite de um buffer ao invés de arquivo
int nDataSize // utilizado para carregar sprite
de um buffer ao invés de arquivo
)
Esta função carrega um
bitmap em formato BMP, JPEG, PNG ou TGA que esteja armazenado na
memória virtual e prepara-o para ser
utilizado como sprite.
GAMESPACE_VIDEO_HANDLER
*pVideo
Ponteiro para um objeto
GAMESPACE_VIDEO_HANDLER válido
Após criado, o sprite só poderá ser desenhado na
janela correspondente ao objeto aqui definido
const char *szFileName
String terminada em NULL que
corresponde ao nome completo do arquivo a ser carregado
GS_COLOR dwMask
Cor de fundo do sprite. Todos os
pixels que tiverem cor exatamente igual ao aqui definido serão
cortados do processo de desenho. Utilize
0x00000000 caso não hajam pixels a ser recortados ou
caso a imagem já possua seu próprio canal alpha
const int nWidth
Nova largura, em pixels, para o
bitmap. Defina 0 para manter a largura original do arquivo
void *pBuffer
Ponteiro para o primeiro byte do
buffer onde se encontra o arquivo de imagem
Se este ponteiro for omitido (pBuffer == 0), o
sprite será carregado de um arquivo em disco
const int nDataSize
Total de bytes contidos no buffer
passado em pBuffer.
Se o ponteiro pBuffer for omitido (pBuffer
== 0), o sprite será carregado de um arquivo em disco
Ver GS_COLOR.
Os dois últimos parâmetros desse método podem ser utilizados para
gerar sprites de arquivos armazenados na memória virtual. Útil para
carregar sprites de pacotes compactados que são descompactados
virtualmente.
Dica de
portabilidade: evite utilizar sprites cujo bitmap
ultrapasse a dimensão de 512x512 pixels.
-
void
GS_SPRITE::Destroy()
Apaga toda a memória alocada pelo objeto.
-
bool
GS_SPRITE::SetupSpriteRects(int collums, int rows)
Esta função é utilizada caso o bitmap do atual sprite possuir
mais de um sprite em sua composição. Para isso, os sprites precisam
possuir a mesma altura e mesma largura, como mostra a imagem à
seguir.
Aqui
temos um sprite 4x4 com 16 frames de igual dimensão. A função
SetupSpriteRects cria estas divisões para serem posteriormente
usadas para animação. Em collums deve ser especificada a
quantidade de colunas de sprites e em rows a quantidade de
linhas. A própria função se encarregará de dividi-la igualmente.
Para selecionar os quadros específicos, utilize
GS_SPRITE::SetRect(int collum, int row).
-
bool
GS_SPRITE::DrawSprite
(
GS_VECTOR2 v2Pos,
GS_COLOR
dwColor = GS_COLOR(255,255,255,255),
float fAngle = 0.0f,
GS_VECTOR2 v2Scale
= GS_VECTOR2(1.0f,1.0f)
)
Desenha o sprite na tela.
Caso o método
GS_SPRITE::SetRect tenha sido utilizado, esta função
desenhará somente o quadro especificado.
Esta função deve ser chamada entre
GAMESPACE_VIDEO_HANDLER::BeginSpriteScene e
GAMESPACE_VIDEO_HANDLER::EndSpriteScene.
GS_VECTOR2 v2Pos
Ponto em screen space onde será
posicionado o
ponto de
origem do sprite.
GS_COLOR dwColor
Cor em ARGB hexadecimal 32-bit do
sprite. Este valor será multiplicado por cada pixel do sprite.
Pode ser utilizado para clarear, escurecer,
anular canais e alterar a tonalidade de cor.
Este valor também admite um valor de 0 a 255 para
o canal alpha.
float
fAngle
Ângulo de rotação, em graus,
do sprite. 0.0f configura seu ângulo reto (padrão)
O sprite será rotacionado em torno de seu
ponto de
origem.
GS_VECTOR2 v2Scale
Vetor bidimensional que define a
escala artificial do sprite
Um sprite pode ser desenhado mais
de uma vez a cada quadro. Ver
GS_COLOR.
-
bool GS_SPRITE::DrawShapedSprite
(
GS_VECTOR2
v2Pos,
GS_VECTOR2 v2Size,
GS_COLOR dwColor0,
GS_COLOR dwColor1,
GS_COLOR dwColor2,
GS_COLOR dwColor3,
float fAngle
)
Desenha o sprite independentemente de seu tamanho original.
GS_VECTOR2 v2Pos
Ponto em screen space onde será
posicionado o
ponto de
origem do sprite.
GS_VECTOR2 v2Size
Tamanho, em pixels, do sprite.
GS_COLOR dwColor0
Cor em ARGB hexadecimal 32-bit do
vértice superior esquerdo do sprite. Este valor será multiplicado por cada pixel do sprite.
Pode ser utilizado para clarear, escurecer,
anular canais e alterar a tonalidade de cor.
Este valor também admite um valor de 0 a 255 para
o canal alpha.
GS_COLOR
dwColor1
Cor em ARGB hexadecimal 32-bit do
vértice superior direito do sprite. Este valor será multiplicado por cada pixel do sprite.
Pode ser utilizado para clarear, escurecer,
anular canais e alterar a tonalidade de cor.
Este valor também admite um valor de 0 a 255 para
o canal alpha.
GS_COLOR
dwColor2
Cor em ARGB hexadecimal 32-bit do
vértice inferior esquerdo do sprite. Este valor será multiplicado por cada pixel do sprite.
Pode ser utilizado para clarear, escurecer,
anular canais e alterar a tonalidade de cor.
Este valor também admite um valor de 0 a 255 para
o canal alpha.
GS_COLOR
dwColor3
Cor em ARGB hexadecimal 32-bit do
vértice inferior direito. Este valor será multiplicado por cada pixel do sprite.
Pode ser utilizado para clarear, escurecer,
anular canais e alterar a tonalidade de cor.
Este valor também admite um valor de 0 a 255 para
o canal alpha.
float fAngle
Ângulo de rotação, em graus,
do sprite. 0.0f configura seu ângulo reto (padrão)
O sprite será rotacionado em torno de seu
ponto de
origem.
Sempre que este método for utilizado, o sprite será desenhado com
filtragem anisotrópica máxima (ou linear caso a placa de vídeo não
suporte), mesmo que o modo de filtragem seja GSTM_IFNEEDED e o
sprite não precise de filtragem. Caso o filtro seja GSTM_NEVER ele
não será aplicado.
Ver
GS_COLOR.
-
bool GS_SPRITE::StretchSprite
(
GS_VECTOR2
v2A,
GS_VECTOR2 v2B,
float fWidth,
GS_COLOR dwColor0,
GS_COLOR dwColor1
)
Estica e desenha um sprite do ponto v2A ao ponto v2B. Como
mostra a figura à seguir:

A imagem será esticada verticalmente e seu tamanho, em pixels, deve
ser definido em fWidth. Caso fWidth seja igual a
-1.0f, a largura original do bitmap ou do retângulo será usada.
dwColor0 e
dwColor1 correspondem às cores, em ARGB 32-bit, do ponto A e B
respectivamente. Caso dwColor0 e dwColor1 sejam
diferentes, a cor será interpolada de uma extremidade à outra. Ver
GS_COLOR.
-
void
GS_SPRITE::SetSpriteOrigin(GS_SPRITE_ORIGIN
origin)
Redefine o eixo de rotação e translação do sprite.
Veja
GS_SPRITE_ORIGIN.
-
void
GS_SPRITE::SetSpriteOrigin(GS_VECTOR2
v2Custom)
Define o eixo para rotação e translação do sprite baseado em
coordenadas UV. O ponto (0,0) equivale ao canto superior esquerdo do
sprite e o ponto (1,1) equivale ao canto inferior direito do sprite.
Os valores x e y de v2Custom podem ser intercalados entre 0.0f e
1.0f para especificar qualquer eixo para o sprite. Valores fora
desse intervalo corresponderão a pontos fora da área retangular do
sprite.
-
void GS_SPRITE::SetRect(GS_2DRECT rect)
Define um retângulo
imaginário que recortará apenas uma parcela da imagem. O valor deve
ser definido em pixels e considerar que a origem do retângulo (sua
posição) está em seu canto superior esquerdo. Veja
GS_2DRECT.
-
bool GS_SPRITE::SetRect(int
collum, int row)
Deve ser utilizada se
GS_SPRITE::SetupSpriteRects(const int collums, const int rows)
foi chamada anteriormente. collum e row correspondem à posição,
começando com 0, do retângulo a ser recortado do bitmap.
-
bool GS_SPRITE::SetRect(int
rect)
Deve ser utilizada se
GS_SPRITE::SetupSpriteRects(const int collums, const int rows)
foi chamada anteriormente. rect corresponde à posição
linear (de 0
a X
sendo X=collums*rows) do retângulo a ser recortado do bitmap.
-
GS_2DRECT GS_SPRITE::GetRect()
Retorna o retângulo de recorte do sprite. Veja
GS_2DRECT.
-
int GS_SPRITE::GetNumRects()
Retorna o valor relativo à quantidade de quadros de animação
atualmente existentes do sprite (total de linhas * total de
colunas).
-
void GS_SPRITE::UnsetRect()
Especifica que todo o bitmap do sprite deve ser desenhado.
Utilize esta função para cancelar as alterações feitas por
GS_SPRITE::SetRect.
-
void GS_SPRITE::FlipX(bool flip)
Liga ou desliga o espelhamento horizontal do sprite. Defina true
para habilitar o espelhamento ou false para desabilita-lo.
-
void GS_SPRITE::FlipY(bool flip)
Liga ou desliga o espelhamento vertical do sprite. Defina
true para habilitar o espelhamento ou false para
desabilita-lo.
-
void GS_SPRITE::FlipX()
Inverte o estado do espelhamento horizontal. Liga o espelhamento
horizontal caso ele esteja desligado ou desliga caso ele esteja
ligado.
-
void GS_SPRITE::FlipY()
Inverte o estado do espelhamento vertical. Liga o espelhamento
vertical caso ele esteja desligado ou desliga caso ele esteja
ligado.
-
void GS_SPRITE::GetFlipX()
Retorna o estado do espelhamento horizontal.
-
void GS_SPRITE::GetFlipY()
Retorna o estado do espelhamento vertical.
-
GS_TEX_PROFILE
GS_SPRITE::GetProfile()
Obtém informações avançadas
sobre o bitmap do sprite. Veja
GS_TEX_PROFILE.
-
GS_VECTOR2i
GS_SPRITE::GetBitmapSize()
Retorna um vetor de valores inteiros com a largura (x) e altura (y), em pixels, do bitmap do
sprite.
-
GS_VECTOR2
GS_SPRITE::GetBitmapSizeF()
Retorna um vetor de valores float com a largura (x) e altura (y), em pixels, do bitmap do
sprite.
-
GS_SURFACE_HANDLE GS_SPRITE::GetTexture()
Retorna um ponteiro para o
objeto que corresponde ao bitmap do sprite. Esta região na memória
não corresponde necessariamente ao buffer de pixels.
-
void GS_SPRITE::SetScroll(GS_VECTOR2
v2Scroll)
Esta função faz a rolagem do birmap em cima da superfície do sprite.
v2Scroll determina o quanto, em pixels, que será girado nos eixos X
e Y. Esta técnica não funcionará corretamente se o sprite estiver
utilizando retângulos de recorte.
-
GS_VECTOR2 GS_SPRITE::GetScroll()
Retorna o valor atual de rolagem do sprite. Ver
GS_SPRITE::SetScroll.
-
void GS_SPRITE::SetMultiply(GS_VECTOR2
v2Multiply)
Multiplica a superfície do bitmap ao longo da superfície do
sprite. Esta técnica não funcionará corretamente se o sprite estiver
utilizando retângulos de recorte.
-
GS_VECTOR2 GS_SPRITE::GetMultiply()
Retorna o valor atual de multiplicação da textura. Ver
GS_SPRITE::SetMultiply.
-
bool
GS_SPRITE::CreateRenderTarget(GAMESPACE_VIDEO_HANDLER
*pVideo, int nWidth, int nHeight, GS_TARGET_FORMAT format =
GSTF_DEFAULT)
Cria um sprite do
tipo "render target" (também conhecido como Framebuffer object -
veja o artigo no
wikipedia).
Este tipo de sprite não tem seu conteúdo carregado de um bitmap, mas
sim recebe este através de outros desenhos em sua própria
superfície.
Quando esse método for usado para criar um render target, o sprite
não mais poderá ser carregado de um bitmap. Em outras palavras, os
métodos GS_SPRITE::LoadSprite e
GS_SPRITE::CreateRenderTarget.
não podem ser usados com um mesmo objeto GS_SPRITE.
GAMESPACE_VIDEO_HANDLER
*pVideo
Ponteiro para o gerenciador da
vídeo responsável pela aplicação.
int nWidth
Largura, em pixels, do render target.
A largura do render target nunca poderá ser maior que a largura do
backbuffer.
int nHeight
Altura, em pixels, do render target.
A altura do render target nunca poderá ser maior que a altura do
backbuffer.
GS_TARGET_FORMAT format
Formato de cor do render target.
GSTF_DEFAULT utilizará o mesmo
formato de pixel do backbuffer e
GSTF_ARGB forçará o uso de canal
alpha.
Após criado o render target, o
método
GAMESPACE_VIDEO_HANDLER::SetRenderTarget define o render
target a ser utilizado e os métodos
GAMESPACE_VIDEO_HANDLER::BeginTargetScene e
GAMESPACE_VIDEO_HANDLER::EndTargetScene
iniciam e encerram o desenho no render target.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
void GS_SPRITE::GenerateBackup()
Este método pode ser usado em render targets estáticos (aqueles
que não são atualizados a cada quadro da aplicação) para salvar a
imagem atual na memória do sistema. Se o render target for salvo
através do uso desse método, a própria biblioteca irá recuperar seu
conteúdo caso haja necessidade de reiniciar o dispositivo. Isso
evita que seu conteúdo tenha de ser desenhado novamente, uma vez que
tudo que está armazenado na memória de vídeo é perdido quando está é
reiniciada.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
GS_SPRITE_TYPE
GS_SPRITE::GetType()
Retorna o tipo de sprite. Os valores de retorno possíveis são:
GSST_BITMAP: o sprite atual foi carregado de um bitmap em
arquivo.
GSST_TARGET: o sprite atual é um render target, e seu
conteúdo é ou será composto por desenhos de outros sprites ou
entidades.
GSST_NOT_LOADED: o sprite atual ainda não foi
carregado/criado.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool
GS_SPRITE::SetAsTexture(int nPass)
Define a superfície do sprite como textura para
multitexturização. nPass equivale ao estágio de textura. As
coordenadas de textura para esse estágio precisam ser passadas como
parâmetro de saída no vertex shader (TEXCOORD1-n).
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
GS_VECTOR2
GS_SPRITE::GetCurrentOrigin()
Retorna a posição da origem do sprite. Veja
GS_SPRITE_ORIGIN.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
-
bool GS_SPRITE::SaveBitmap(char
*szName, const GS_BITMAP_FORMAT fmt, GS_2DRECT *pRect = 0)
Salva este sprite ou
render target em um arquivo com nome szName e no formato fmt (veja
GS_BITMAP_FORMAT). É possível
especificar um retângulo para salvar com pRect. Para salvar toda
a imagem, utilize NULL para este parâmetro.
Nota importante: no momento em
que esta documentação é disponibilizada (veja a data no cabeçalho da
página), o método acima apresentado está disponível somente para a
versão Windows da GameSpaceLib.
class
GAMESPACE_AUDIO_HANDLER
-
bool GAMESPACE_AUDIO_HANDLER::RegisterAudioDevice(void
*pData)
Prepara o dispositivo de som para carregar e tocar efeitos sonoros.
pData deve ser NULL.
-
void GAMESPACE_AUDIO_HANDLER::Destroy()
Apaga toda a memória alocada pelo objeto.
class
GS_AUDIO_SAMPLE
-
bool GS_AUDIO_SAMPLE::LoadSample
(
GAMESPACE_AUDIO_HANDLER
*pAudio,
char *szName,
const GS_SAMPLE_TYPE type = GSST_UNKNOWN
)
Carrega uma faixa de
áudio de um arquivo OGG, MP3, FLAC, WAV, AIFF, MOD, S3M, XM ou IT.
pAudio deve apontar para um
objeto GAMESPACE_AUDIO_HANDLER válido e szName corresponde à string
terminada em NULL que indica o nome e diretório do arquivo.
GS_SAMPLE_TYPE type pode ser usado para indicar o tipo de uso
que será feito pela faixa de áudio. Com isso, o objeto pode otimizar
o processo para melhorar a performance conforme o tipo. Veja
GS_SAMPLE_TYPE.
Note que alguns formatos de áudio são proprietários (MP3 por exemplo),
ou seja, seu uso em aplicações comerciais estará sujeito à sua
licença.
-
bool GS_AUDIO_SAMPLE::LoadSample
(
GAMESPACE_AUDIO_HANDLER
*pAudio,
char *szName,
const GS_SAMPLE_TYPE type,
void *pBuffer, // utilizado para carregar sprite de um
buffer ao invés de arquivo
int nDataSize // utilizado para carregar sprite
de um buffer ao invés de arquivo
)
Carrega uma faixa de
áudio de um arquivo OGG, MP3, FLAC, WAV, AIFF, MOD, S3M, XM ou IT
que esteja armazenado na memória virtual.
pAudio deve apontar para um
objeto GAMESPACE_AUDIO_HANDLER válido e szName corresponde à string
terminada em NULL que indica o nome e diretório do arquivo.
GS_SAMPLE_TYPE type pode ser usado para indicar o tipo de uso
que será feito pela faixa de áudio. Com isso, o objeto pode otimizar
o processo para melhorar a performance conforme o tipo. Veja
GS_SAMPLE_TYPE.
pBuffer
corresponde a um ponteiro para o primeiro byte do buffer onde se
encontra o arquivo de áudio na memória virtual. Se este ponteiro for
omitido (pBuffer == 0), o recurso será carregado de um arquivo
armazenado em disco. nDataSize representa o total de bytes contidos
no buffer passado em pBuffer (caso este seja diferente de 0).
Os dois últimos parâmetros desse método podem ser utilizados para
gerar faixas de áudio de arquivos armazenados na memória virtual.
Útil para carregar recursos de pacotes compactados que são
descompactados virtualmente.
Note que alguns formatos de áudio são proprietários (MP3 por exemplo),
ou seja, seu uso em aplicações comerciais estará sujeito à sua
licença.
-
void
GS_AUDIO_SAMPLE::Destroy()
Apaga toda a memória
alocada pelo objeto.
-
GS_SAMPLE_STATUS
GS_AUDIO_SAMPLE::GetStatus()
Retorna um valor de
GS_SAMPLE_STATUS relativo ao atual estado de reprodução
da faixa de áudio carregada.
-
GS_SAMPLE_TYPE
GS_AUDIO_SAMPLE::GetType()
Retorna o tipo de uso da faixa de áudio. Este valor pode ser
definido durante a chamada do método GS_AUDIO_SAMPLE::LoadSample.
Veja
GS_SAMPLE_TYPE.
-
bool
GS_AUDIO_SAMPLE::Play()
Reproduz a faixa
carregada. Se a faixa ainda estiver sendo tocada, ela será
reiniciada.
-
bool
GS_AUDIO_SAMPLE::IsPlaying()
Retorna true caso a faixa esteja sendo tocada neste exato
momento. Caso contrário retorna false.
-
bool
GS_AUDIO_SAMPLE::SetLoop(const
bool bEnable)
Se bEnable for igual a true, a repetição de
reprodução será ativada, caso contrário, será desativada. Se estiver
ativada, sempre que a reprodução da faixa chegar ao fim, ela voltará
automaticamente ao seu início e será reproduzida novamente.
-
bool
GS_AUDIO_SAMPLE::GetLoop()
Retorna true caso a repetição contínua de faixa esteja
ativada e false caso esteja desativada.
-
bool
GS_AUDIO_SAMPLE::Pause()
Pausa a reprodução da faixa.
-
bool
GS_AUDIO_SAMPLE::Stop()
Interrompe toda a execução da faixa.
-
bool
GS_AUDIO_SAMPLE::SetVolume(float
fVolume)
Ajusta o volume de
reprodução da faixa. O valor de 0.0f equivale ao silêncio total e
1.0f ao volume padrão da faixa.
-
float GS_AUDIO_SAMPLE::GetVolume()
Retorna o valor de volume atual da faixa de áudio.
-
bool
GS_AUDIO_SAMPLE::SetSpeed(const float
fSpeed)
Define uma velocidade para a reprodução da faixa de áudio
aumentando ou diminuindo a freqüencia das ondas sonoras e em
conseqüencia disso diminuindo ou aumentando o tempo de reprodução
total da faixa. 1.0f equivale à velocidade padrão. Este valor pode
variar de 0.5f a 2.0f.
-
float GS_AUDIO_SAMPLE::GetSpeed()
Retorna a velocidade atual (freqüencia das ondas sonoras) da
faixa de áudio. Veja
GS_AUDIO_SAMPLE::SetSpeed.
-
bool GS_AUDIO_SAMPLE::SetPan(const
float fPan)
Rearranja a posição da faixa de áudio entre os canais direito e
esquerdo do dispositivo de som. -1.0f envia o som todo para o
alto-falante esquerdo e 1.0f para o direito. Esta função aceita
valores entre -1.0f e 1.0f para balancear analogicamente a posição
da faixa.
class
GAMESPACE_MEDIA_PLAYER
Nota importante:
no momento em que esta documentação é disponibilizada (veja a data no
cabeçalho da página), o objeto GAMESPACE_MEDIA_PLAYER só está disponível
na versão Windows da GameSpaceLib.
-
bool
GAMESPACE_MEDIA_PLAYER::LoadVideo(GAMESPACE_VIDEO_HANDLER
*pVideo, const char *szFile)
Carrega uma faixa de vídeo do formato MPEG, AVI, WMV e outros
compatíveis com DirectShow. Este método decodificará o vídeo e
exibirá na janela um retângulo onde será exibida a faixa.
Para que este método tenha sucesso, ele precisa ser chamado depois
que a janela já estiver aberta (GAMESPACE_VIDEO_HANDLER::StartApplication)
e não pode ser chamado durante o desenho no laço principal (entre
BeginSpriteScene e EndSpriteScene). pVideo precisa
apontar a um objeto válido e szFile precisa conter uma string
terminada em NULL que corresponde ao caminho e o nome do
arquivo (Ex.: "meu_video.avi" ou "C:\Videos\Video_qualquer.mpg").
-
void
GAMESPACE_MEDIA_PLAYER::UpdateVideo()
Este método atualiza o vídeo. Precisa ser chamado uma vez a cada
quadro de um laço principal que utilize o método
GAMESPACE_VIDEO_HANDLER::SetupProc para atualizar as mensagens
do sistema.
-
void
GAMESPACE_MEDIA_PLAYER::Destroy()
Apaga o vídeo da memória e todos os dados alocados pelo objeto.
Para que este método tenha sucesso, ele precisa ser chamado depois
que a janela já estiver aberta (GAMESPACE_VIDEO_HANDLER::StartApplication)
e não pode ser chamado durante o desenho no laço principal (entre
BeginSpriteScene e EndSpriteScene).
-
bool
GAMESPACE_MEDIA_PLAYER::Play()
Reproduz o vídeo e sua faixa de áudio. Caso o vídeo esteja
pausado e o método GAMESPACE_MEDIA_PLAYER::Play seja chamado,
sua execução será retomada de onde havia parado. Caso o vídeo já
esteja sendo executado e este método seja chamado novamente, a
execução retornará ao seu ponto inicial.
-
bool
GAMESPACE_MEDIA_PLAYER::Rewind()
Retorna ao ponto inicial do vídeo.
-
bool
GAMESPACE_MEDIA_PLAYER::Stop()
Interrompe a execução do vídeo e retorna ao início.
-
bool
GAMESPACE_MEDIA_PLAYER::Pause()
Pausa a execução do vídeo. Caso o vídeo esteja pausado e o
método GAMESPACE_MEDIA_PLAYER::Play seja chamado, sua
execução será retomada de onde havia parado.
-
bool
GAMESPACE_MEDIA_PLAYER::SetVideoPos(GS_VECTOR2i
v2Pos)
Posiciona o vídeo no ponto determinado por v2Pos. Sendo (0,0) o
ponto de origem do back buffer.
-
bool
GAMESPACE_MEDIA_PLAYER::SetVideoSize(GS_VECTOR2i
v2Size)
Define a dimensão, em pixels, do vídeo.
-
GS_VECTOR2i
GAMESPACE_MEDIA_PLAYER::GetVideoPos()
Retorna a posição atual, em pixels, do vídeo.
-
GS_VECTOR2i
GAMESPACE_MEDIA_PLAYER::GetVideoSize()
Retorna o tamanho atual, em pixels, do vídeo.
-
bool
GAMESPACE_MEDIA_PLAYER::SetFullscreen()
Faz com que o vídeo ocupe a tela toda (todo o back buffer).
-
void
GAMESPACE_MEDIA_PLAYER::ShowVideo(const
bool bShow)
Exibe ou esconde o vídeo. false para esconder e true
para exibi-lo. Caso a faixa de vídeo esteja no meio de sua execução,
este método não a afetará em nada e o áudio continuará sendo tocado
mesmo que o retângulo do vídeo esteja escondido.
-
bool
GAMESPACE_MEDIA_PLAYER::VideoVisible()
Retorna true caso o vídeo esteja visível e false
caso esteja escondido.
-
bool GAMESPACE_MEDIA_PLAYER::SetAudioVolume(const
float fVolume)
Ajusta o volume do
áudio do vídeo. O valor de 0.0f equivale ao silêncio total e
1.0f ao volume padrão da faixa.
-
bool
GAMESPACE_MEDIA_PLAYER::Finished()
Retorna true caso a reprodução do vídeo tenha sido
encerrada "naturalmente" (tenha chegado ao fim sem nenhuma interrupção
do usuário). Caso contrário retorna false.
-
GS_SAMPLE_STATUS
GAMESPACE_MEDIA_PLAYER::GetStatus()
Retorna o estado atual da reprodução do vídeo. Veja
GS_SAMPLE_STATUS.
|
|
Enumerações
enum GS_PIXEL_FORMAT - Quantidade de bits
por pixel
- GSPF_16BIT:
pixel com 16bit de precisão de cor.
- GSPF_32BIT:
pixel com 32bit de precisão de cor.
- GSPF_UNKNOWN:
valor de precisão de pixel desconhecida ou ignorada.
- GSPF_DEFAULT:
precisão de cor do pixel é igual à atualmente utilizada pelo
sistema.
enum GS_MESSAGE_TYPE - Tipo de mensagem ao
usuário
- GSMT_INFO:
a mensagem é apenas informativa.
- GSMT_WARNING:
a mensagem é de alerta ao usuário.
- GSMT_ERROR:
a mensagem é de erro.
enum GS_PROC_STATUS
- Instrução de execução
para o laço principal do programa
- GSPROC_OK
- GSPROC_QUIT
- GSPROC_SKIP
enum GS_SPRITE_ORIGIN
- Ponto de origem
(centro) de um sprite
- GSSO_DEFAULT:
a origem do sprite será seu canto superior esquerdo.
- GSSO_CENTER:
a origem do sprite será o centro do bitmap.
-
GSSO_CENTER_BOTTOM: a origem do sprite será o centro de sua
linha inferior.
-
GSSO_CENTER_TOP: a origem do sprite será o centro de sua linha
superior.
-
GSSO_RECT_CENTER: a origem será o centro do atual retângulo.
Precisa ser especificado após o comando
GS:SPRITE::SetRect.
-
GSSO_RECT_CENTER_BOTTOM: a origem será o centro inferior do
atual retângulo. Precisa ser especificado após o comando
GS:SPRITE::SetRect.
-
GSSO_RECT_CENTER_TOP: a origem será o centro superior do atual
retângulo. Precisa ser especificado após o comando
GS:SPRITE::SetRect.
enum GS_SAMPLE_STATUS
- Estado de
reprodução de uma faixa de áudio
- GSSS_PLAYING:
a faixa de áudio ou vídeo está sendo reproduzida neste momento.
- GSSS_PAUSED:
a reprodução da faixa de áudio ou vídeo encontra-se pausada e quando voltar a
ser reproduzida continuará do ponto em que foi pausada.
- GSSS_STOPPED:
a reprodução está parada e foi retornada ao início da faixa.
- GSSS_UNKNOWN:
estado de reprodução desconhecido ou ignorado pelo sistema.
enum GS_PLAYER_INFO
-
valor de retorno que informa o resultado da execução do vídeo
- GSPI_FAILED:
a reprodução da faixa de vídeo falhou.
- GSPI_SKIPPED:
o usuário cancelou manualmente a reprodução da faixa de vídeo.
-
GSPI_CLOSE_WINDOW: o usuário fechou a janela durante a
reprodução do vídeo.
-
GSPI_FINISHED: a faixa de vídeo foi reproduzida com sucesso até
o fim.
enum GS_SAMPLE_TYPE
- Determina as
diferentes formas de uso de um arquivo de áudio
-
GSST_SOUND_EFFECT: diz ao sistema que trata-se de um efeito
sonoro curto (com alguns segundos ou décimos de segundo de duração).
- GSST_MUSIC:
diz ao sistema de trata-se de uma música.
-
GSST_SOUNDTRACK: diz ao sistema que trata-se de uma trilha sonora (com minutos de duração).
-
GSST_AMBIENT_SFX: diz ao sistema que trata-se de um efeito
sonoro de fundo (com minutos de duração).
- GSST_UNKNOWN:
o tipo de uso para a faixa de áudio é desconhecida ou ignorada pelo
usuário.
enum
GS_KEY_STATE
- Estados de teclas ou botões
- GSKS_HIT:
a tecla ou botão acabou de ser pressionado.
- GSKS_DOWN:
a tecla ou botão ESTÁ sendo pressionado.
- GSKS_RELEASE:
a tecla ou botão acaba de ser solto.
- GSKS_UP:
a tecla ou botão NÃO ESTÁ sendo pressionado.
enum GS_ALPHA_MODE - Tipos de transparência
de sprites
- GSAM_PIXEL:
a cor de cada novo pixel renderizado será interpolada com a cor do
pixel ao seu respectivo fundo utilizando o valor de ALPHA do pixel
do bitmap como parâmetro.
- GSAM_ADD:
a cor de cada novo pixel renderizado será somada à cor do pixel ao
seu respectivo fundo.
- GSAM_MODULATE: a cor de cada novo
pixel será o resultado da multiplicação da cor do pixel do sprite
com a cor do pixel no fundo.
- GSAM_NONE:
desliga o alpha blending (transparência).
- GSAM_ALPHA_TEST: desliga o
alpha blending mas corta os pixels cujo valor de alpha se iguale a
0. Sprites desenhados com este método são bem mais rápidos do que
aqueles desenhados com GSAM_PIXEL ou GSAM_ADD.
enum GS_TEXTUREFILTER_MODE -
Critério para execução de filtro na textura (sprite)
- GSTM_NEVER:
os filtros de textura (sprite) estão totalmente desligados.
-
GSTM_IFNEEDED: antes de aplicar o filtro biblioteca vai
verificar se o caso necessita de filtragem no sprite.
- GSTM_ALWAYS:
a biblioteca sempre aplicará o filtro de textura (sprite).
enum GS_TIME_UNITY - Unidade de medida de
tempo
-
GSTU_MILLISECONDS: a função retornará o tempo em milisegundos.
- GSTU_SECONDS:
a função retornará o tempo em segundos.
- GSTU_MINUTES:
a função retornará o tempo em minutos, sendo que 1.5f equivale a
1:30 (1min30seg).
- GSTU_HOURS:
a função retornará o tempo em horas, sendo que 1.5f equivale a 1:30
(1h30min).
enum
GS_BITMAP_FORMAT - Formato
de arquivo de imagem para salvar screenshot
- GSSF_BMP: formato bitmap do
Windows sem perda de qualidade (.bmp).
- GSSF_JPG: formato de
compressão com perda de qualidade JPEG (.jpg/.jpeg).
- GSSF_PNG: formato com
compressão de dados e suporte a canal alpha (.png).
- GSSF_TGA: formato TGA.
- GSSF_DDS: formato de
superfície do DirectX.
typedef unsigned int
GS_JOYSTICKID - Constante de
identificação de joysticks
- GS_JOYSTICK1 = 0: joystick do
primeiro slot.
- GS_JOYSTICK2 = 1: joystick do
segundo slot.
- GS_JOYSTICK3 = 2: joystick do
terceiro slot.
- GS_JOYSTICK4 = 3: joystick do
quarto slot.
enum
GS_JOYSTICK_STATUS - Estado do
joystick ou joypad
- GSJS_DETECTED: joystick
conectado e detectado
- GSJS_NOTDETECTED: joystick
não detectado ou não conectado
- GSJS_INVALID: joystick
inválido
enum
GS_RECT_MODE
- GSRM_TWO_TRIANGLES: utiliza
dois triângulos para formar o retângulo.
- GSRM_THREE_TRIANGLES:
utiliza três triângulos para formar o retângulo.
- GSRM_FOUR_TRIANGLES:
utiliza quatro triângulos para formar o retângulo.

enum
GS_JOYSTICK_BUTTON -
Lista de botões do joystick
Cada constante equivale a um botão do
joystick. A GameSpaceLib suporta joysticks com até 32 botões.
Ex.: as constantes válidas para um joystick que possui 8 botões serão
GSB_01 à GSB_08.
- GSB_01
- GSB_02
- GSB_03
- GSB_04
- GSB_05
- GSB_06
- GSB_07
- GSB_08
- GSB_09
- GSB_10
- GSB_11
- GSB_12
- GSB_13
- GSB_14
- GSB_15
- GSB_16
- GSB_17
- GSB_18
- GSB_19
- GSB_20
- GSB_21
- GSB_22
- GSB_23
- GSB_24
- GSB_25
- GSB_26
- GSB_27
- GSB_28
- GSB_29
- GSB_30
- GSB_31
- GSB_32
- GSB_UP
- GSB_DOWN
- GSB_LEFT
- GSB_RIGHT
enum GS_KEY
- Teclas do teclado e botões do mouse
- GSK_UP = 0,
- GSK_DOWN =
1,
- GSK_LEFT =
2,
- GSK_RIGHT,
- GSK_CTRL,
- GSK_ALT,
- GSK_SHIFT,
-
GSK_PAGEDOWN,
- GSK_PAGEUP,
- GSK_SPACE,
- GSK_ENTER,
- GSK_DELETE,
- GSK_HOME,
- GSK_END,
- GSK_INSERT,
- GSK_PAUSE,
- GSK_ESC,
- GSK_BACKSPACE,
- GSK_TAB,
-
GSK_PRINTSCREEN,
-
GSK_SUBTRACT,
- GSK_ADD,
- GSK_F1,
- GSK_F2,
- GSK_F3,
- GSK_F4,
- GSK_F5,
- GSK_F6,
- GSK_F7,
- GSK_F8,
- GSK_F9,
- GSK_F10,
- GSK_F11,
- GSK_F12,
- GSK_F13,
- GSK_F14,
- GSK_F15,
- GSK_F16,
- GSK_F17,
- GSK_F18,
- GSK_F19,
- GSK_F20,
- GSK_F21,
- GSK_F22,
- GSK_F23,
- GSK_F24,
- GSK_A,
- GSK_B,
- GSK_C,
- GSK_D,
- GSK_E,
- GSK_F,
- GSK_G,
- GSK_H,
- GSK_I,
- GSK_J,
- GSK_K,
- GSK_L,
- GSK_M,
- GSK_N,
- GSK_O,
- GSK_P,
- GSK_Q,
- GSK_R,
- GSK_S,
- GSK_T,
- GSK_U,
- GSK_V,
- GSK_W,
- GSK_X,
- GSK_Y,
- GSK_Z,
- GSK_0,
- GSK_1,
- GSK_2,
- GSK_3,
- GSK_4,
- GSK_5,
- GSK_6,
- GSK_7,
- GSK_8,
- GSK_9,
- GSK_NUMPAD0
- GSK_NUMPAD1
- GSK_NUMPAD2
- GSK_NUMPAD3
- GSK_NUMPAD4
- GSK_NUMPAD5
- GSK_NUMPAD6
- GSK_NUMPAD7
- GSK_NUMPAD8
- GSK_NUMPAD9
- GSK_RMOUSE,
- GSK_LMOUSE,
- GSK_MMOUSE,
- GSK_MINUS,
- GSK_PLUS,
- GSK_COMMA,
- GSK_DOT,
- GSK_NO_KEY
(nenhuma tecla, valor inválido para GAMESPACE_INPUT_HANDLER)
|