lf_startplay.h

来自「很不错的播放代玛」· C头文件 代码 · 共 74 行

H
74
字号
#ifndef __LF_STARTPLAY_H__
#define __LF_STARTPLAY_H__

#include "threads.h"
///////////////////////////////////////
// Thread API definition area
///////////////////////////////////////
#if HAVE_PTHREAD_H
#define LF_INFINITE		0xFFFFFFFF
#define LF_WAIT_TIMEOUT ETIMEDOUT
#define LF_WAIT_FAILED -1
#define LF_WAIT_0 0

typedef pthread_mutex_t LF_LOCK;
typedef struct _LF_EVENT 
{
	int ref;
	pthread_mutex_t mutex;
	pthread_cond_t cond;
} LF_EVENT;
typedef LF_EVENT* LF_PEVENT;
W_DWORD WaitForMultipleObjects(W_DWORD nCount, LF_PEVENT* hEvent,int fWaitAll, W_DWORD timeout_value);
///////////////////////////////////////
#elif defined(WIN32)
#define LF_INFINITE	INFINITE
#define LF_WAIT_TIMEOUT WAIT_TIMEOUT
#define LF_WAIT_FAILED  WAIT_FAILED
#define LF_WAIT_0		WAIT_OBJECT_0
typedef CRITICAL_SECTION LF_LOCK;
typedef void* LF_PEVENT;
#endif
#define THREAD_EVENTS 10
enum 
{ 
	THREAD_POPUP_WINDOW = 0x1010,
	THREAD_SWI_WINDOW,
	THREAD_SWI_ACCESSORY,
	THREAD_REDRAW_WIDGET,
	THREAD_DESTROY_WINDOW,
};
typedef Fl_Thread LF_Thread;
typedef struct _ThreadEvent
{
	int event;
	fltk::DefWindow DefW;
} ThreadEvent;
typedef struct _ThreadEvent_Bank
{
	int number;
	ThreadEvent pEvent[THREAD_EVENTS];
} ThreadEvent_Bank;

///////////////////////////////////
W_DWORD LF_WaitForProcEvent(W_DWORD nCount, LF_PEVENT* hEvent,int fWaitAll, W_DWORD timeout_value);
void LF_ResetEvent(LF_PEVENT pEvent);
int LF_SetEvent(LF_PEVENT pEvent);
LF_PEVENT LF_CreateEvent(void);
void LF_CloseEvent(LF_PEVENT pEvent);
void LF_UnLock(LF_LOCK* lock);
void LF_Lock(LF_LOCK* lock);
void LF_LockFree(LF_LOCK* lock);
void LF_LockInitial(LF_LOCK* lock);
void LF_ThreadInit(void);
void LF_InstallThreads(void);
W_DWORD LF_WaitForThreadExit(void);
void* LF_EventProc(void* p);
void* LF_PackageProc(void *p);

void LF_SendThreadEvent(fltk::DefWindow* pDefW,int event);
void LF_ThreadEventCallback(void);
#endif  // End of __LF_THREAD_H__

#endif 

⌨️ 快捷键说明

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