⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 temp

📁 基于paragui实现的一个在linux操作系统下使用framebuffer来进行窗口模式的文件选择的源代码。
💻
字号:
#include "Tunnel.h"        //#include <iostream>       // SDL StuffSDL_Surface	*screen;SDL_Surface	*bBuffer;               SDL_Surface	*Image;         SDL_Rect	rScreen;     SDL_Rect	rBuffer;           #ifdef WIN32// Timer maison... cuz GetTickCount ca SUXX ! :) ----------------------------------static __int64 timerstart;static __int64 timerfrq;static void Tunnel_Timer() {  QueryPerformanceCounter((LARGE_INTEGER *)&timerstart);  QueryPerformanceFrequency((LARGE_INTEGER *)&timerfrq);}static double Tunnel_GetTime() {  __int64 a;  QueryPerformanceCounter((LARGE_INTEGER *)&a);	  return (double)(a - timerstart)/(double)(timerfrq);}#elsevoid Tunnel_Timer(){}double Tunnel_GetTime(){  return SDL_GetTicks()*1.0/1000;}#endif// ---------------------------------------------------------------------------------int main (int argc, char **argv){                 // on init SDL  int flag = SDL_SWSURFACE;  int ret = 0;#ifdef WIN32  int fullscreen = MessageBox(NULL, "Un jolie tunnel en plein ecran ? :)", "Screen Setting", MB_YESNO);  if (fullscreen==IDYES)    {      flag |= SDL_FULLSCREEN;     }#endif            // Init du Timer  Tunnel_Timer();  ret = SDL_Init( SDL_INIT_VIDEO );               printf( "SDL_Init:%d\n", ret);  if (SDL_Init(SDL_INIT_EVERYTHING) == -1)  {    printf("SDL_Init Failed: %s\n", SDL_GetError());    // Unrecoverable error, exit here.  }	  // on set la resolution //  screen = SDL_SetVideoMode( 320, 240, 16, flag);       screen = SDL_SetVideoMode( 320, 240, 8, SDL_FULLSCREEN);       printf( "%d\n", screen);  bBuffer = SDL_CreateRGBSurface( SDL_HWSURFACE, screen->w, 				  screen->h, 				  screen->format->BitsPerPixel,				  screen->format->Rmask,				  screen->format->Gmask,				  screen->format->Bmask,				  screen->format->Amask);/*  Image = SDL_LoadBMP( "tunnel_map.bmp" );                            if (!bBuffer || !Image)                  {                      printf("Error: I can't load or create bmp !!!\n\n");      return -1;    }                                             Image = SDL_ConvertSurface(Image, screen->format, SDL_HWSURFACE);                      rBuffer.x = 0;                                                 rBuffer.y = 0;              rBuffer.w = bBuffer->w;         rBuffer.h = bBuffer->h;                      SDL_EventState(SDL_ACTIVEEVENT, SDL_IGNORE);  SDL_EventState(SDL_MOUSEMOTION, SDL_IGNORE);                SDL_ShowCursor( SDL_DISABLE );           Tunnel.Set( 320, 240 ); // Dimension du tunnel   Tunnel.Precalc( 16 ); // Diametre du tunnel  while (SDL_PollEvent(NULL)==0)                        {                    float fTime = Tunnel_GetTime();            	      SDL_LockSurface(bBuffer);      SDL_LockSurface(Image);      // et on le dessine normalement !       // Tunnel.Draw(bBuffer, Image, fTime*100, fTime*100);      // ou un peu plus delire      Tunnel.Draw(bBuffer, Image, 180*sin(fTime), fTime*100);      SDL_UnlockSurface(bBuffer);      SDL_UnlockSurface(Image);      SDL_BlitSurface( bBuffer, NULL, screen, &rBuffer );        SDL_UpdateRect( screen, 0, 0, 0, 0 );      	    }                                           	  Tunnel.Free();*/  return 0;}                                                             

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -