您当前的位置: 首页 > 

qianbo_insist

暂无认证

  • 0浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

智慧讲台接收画板协议规划

qianbo_insist 发布时间:2021-04-30 08:25:48 ,浏览量:0

描述

最近要做智慧讲台的接收画板,使用sdl2 来画接收到的所有数据,之所以要使用sdl2,是有很多细节原因,先搭框架,本身是要能接收也要能画,使用事件驱动,websocket协议接收,自己写websocket协议服务器,慢慢补充内容,结束时讲台的接收也就做好了,follow me,所涉及的协议包含以下几大协议 http websocket httpflv rtsp dlna 组播协议

协议 http协议 websocket协议 httpflv rtsp协议 dlna 协议 组播协议 智能化

智能化需要用到的东西很多,有三维和tensorflow以及darknet等一些工具,具体会补充进来,做一步补充一步,如画画课件的识别,老师手势的识别,以及其他数学,物理,历史,地理课件的辅助方法,需要用到人工智能方面的东西。

#include 
#include 
#include 

extern "C"
{
#include "SDL2/SDL.h"
#include "SDL2/SDL_mouse.h"
#include "SDL2/SDL_surface.h"
	//if you want sdl image
//#include "SDL2/SDL_image.h"
};
#ifdef _WIN32
//#define main main
#pragma comment(lib,"sdl2.lib")
#pragma comment(lib, "SDL2main.lib")
#endif
class c_drawing {
	SDL_Window *v_pWindow = NULL;
	SDL_Renderer *v_pRender = NULL;
	SDL_Texture * v_pTexture = NULL;
	bool v_Run = false;
public:
	bool func_running()
	{
		return v_Run;
	}
	void render()
	{
		SDL_RenderClear(v_pRender);

		SDL_RenderCopy(v_pRender, v_pTexture, NULL,NULL);
		//SDL_RenderCopy(m_pRenderer, m_pTexture, NULL, NULL);	// NULL means that use all texture( and renderer)
		//SDL_RenderCopyEx(m_pRenderer, m_pTexture, &m_srcRect, &m_dstRect,0, 0, SDL_FLIP_HORIZONTAL);
		//SDL_RenderCopyEx(m_pRenderer, m_pTexture, &m_srcRect, &m_dstRect,0, 0, SDL_FLIP_VERTICAL);

		SDL_RenderPresent(v_pRender);
	}
	

	
	int getMouseKeyEven(void *opaque) {
		SDL_Event ev;
		if (SDL_PollEvent(&ev))
		{
			if (SDL_KEYDOWN == ev.type) // SDL_KEYUP
			{
				if (SDLK_DOWN == ev.key.keysym.sym)
				{
					printf("SDLK_DOWN ...............\n");

				}
				else if (SDLK_UP == ev.key.keysym.sym)
				{
					printf("SDLK_UP ...............\n");

				}
				else if (SDLK_LEFT == ev.key.keysym.sym)
				{
					printf("SDLK_LEFT ...............\n");

				}
				else if (SDLK_RIGHT == ev.key.keysym.sym)
				{
					printf("SDLK_RIGHT ...............\n");
				}
			}
			else if (SDL_MOUSEBUTTONDOWN == ev.type)
			{
				if (SDL_BUTTON_LEFT == ev.button.button)
				{
					int px = ev.button.x;
					int py = ev.button.y;
					printf("mouse left x, y %d %d ...............\n", px, py);

				}
				else if (SDL_BUTTON_RIGHT == ev.button.button)
				{
					int px = ev.button.x;
					int py = ev.button.y;
					printf("mouse right x, y %d %d ...............\n", px, py);
				}
			}
			else if (SDL_MOUSEMOTION == ev.type)
			{
				int px = ev.motion.x;
				int py = ev.motion.y;

				printf("x, y %d %d ...............\n", px, py);
			}
			else if (SDL_QUIT == ev.type)
			{
				v_Run = false;
				printf("SDL_QUIT ...............\n");
				return 0;
			}
		}
		return 0;
	}
	bool init(const char *title, int xpos, int ypos, int height, int width, int flags)
	{
		if (SDL_Init(SDL_INIT_EVERYTHING)             
关注
打赏
1663161521
查看更多评论
0.0437s