7 const static LPCTSTR NLITE_MAINWINDOW = TEXT("nlite");
13 CCommentView &commentView;
16 CLiveUserData(CCommentView& cv):commentView(cv){}
23 NicoVideoAuth_P nicoVideoAuth;
28 :nicoVideoAuth(NicoVideoAuth_new()){}
32 NicoVideoAuth_delete(&nicoVideoAuth);
35 VOID SetBrowserType(BROWSERTYPE bt){
38 rslt = NicoVideoAuth_getNicoVideoAuth(nicoVideoAuth,bt);
39 if(rslt != NLIB_ERR_OK){
41 throw NLIBException(rslt);
46 NicoVideoAuth_P GetAuth(){
48 return this->nicoVideoAuth;
53 class CNicoLiveStream{
56 NicoLiveStream_P nicoLiveStream;
61 :nicoLiveStream(NicoLiveStream_new())
65 NicoLiveStream_delete(&nicoLiveStream);
71 VOID Connect(CNicoVideoAuth &nicoVideoAuth,LPCTSTR url,NicoRecvCallBack callback,LPVOID option){
75 rslt = NicoLiveStream_connect(nicoLiveStream,nicoVideoAuth.GetAuth(),url,callback,option);
77 if(rslt != NLIB_ERR_OK){
79 throw NLIBException(rslt);
86 NicoLiveStream_disConnect(nicoLiveStream);
89 VOID SendChat(LPCTSTR chatBuf,std::vector<LPCTSTR> mails,std::vector<LPCTSTR> extends){
91 mails.insert( mails.end(),(LPCTSTR)NULL);
92 extends.insert(extends.end(),(LPCTSTR)NULL);
93 rslt = NicoLiveStream_sendChat(nicoLiveStream,chatBuf,&mails[0],&extends[0]);
95 if(rslt != NLIB_ERR_OK){
96 throw NLIBException(rslt);
103 class CNliteMainFrame : public CFrameWindowImpl<CNliteMainFrame>,
104 /*public CUpdateUI<CNliteMainFrame>,*/public CMessageFilter, public CIdleHandler
108 typedef CFrameWindowImpl<CNliteMainFrame> baseWindow;
110 //
\83E
\83B
\83\93\83h
\83E
\83N
\83\89\83X
\96¼
\81A
\8b¤
\92Ê
\83\8a\83\
\81[
\83XID
\81A
\83X
\83^
\83C
\83\8b\81A
\94w
\8ci
\90F
\82ð
\93o
\98^
111 //DECLARE_FRAME_WND_CLASS_EX(NLITE_MAINWINDOW, IDC_NLITE,CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS, COLOR_WINDOW)
112 //DECLARE_FRAME_WND_CLASS_EX(NLITE_MAINWINDOW, IDC_NLITE,CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS, COLOR_WINDOW)
113 DECLARE_FRAME_WND_CLASS(NULL,IDC_NLITE);
115 CCommentView commentView;
116 CNicoLiveStream nicoLiveStream;
117 CNicoVideoAuth nicoVideoAuth;
118 CStatusBarCtrl statusBar;
119 CLiveUserData userData;
124 //
\83\81\83b
\83Z
\81[
\83W
\83t
\83B
\83\8b\83^
\8f\88\97\9d
125 virtual BOOL PreTranslateMessage(MSG* pMsg){
126 //
\8aî
\92ê
\83N
\83\89\83X
\82ÌPreTranslateMessage
\82ð
\8cÄ
\82Ñ
\8fo
\82·
127 return CFrameWindowImpl<CNliteMainFrame>::PreTranslateMessage(pMsg);
130 //
\83A
\83C
\83h
\83\8b\8f\88\97\9d
131 virtual BOOL OnIdle(){
132 // UIUpdateStatusBar();
139 CNliteMainFrame():userData(commentView){
143 lf.lfCharSet = SHIFTJIS_CHARSET;
144 hTabFont = CreateFontIndirect(&lf);
150 DeleteObject(hTabFont);
154 BEGIN_UPDATE_UI_MAP(CNliteMainFrame)
155 //
\83G
\83\93\83g
\83\8a\82È
\82µ
158 //
\83\81\83b
\83Z
\81[
\83W
\83}
\83b
\83v
159 BEGIN_MSG_MAP_EX(CNliteMainFrame)
160 MSG_WM_CREATE(OnCreate)
161 MSG_WM_DESTROY(OnDestroy)
162 MESSAGE_HANDLER(WM_SIZING,OnSizing)
163 MESSAGE_HANDLER(WM_SIZE,OnSize);
165 COMMAND_ID_HANDLER_EX(IDM_EXIT, OnMenuExit)
166 COMMAND_ID_HANDLER_EX(IDM_ABOUT,OnMenuAbount)
167 // CFrameWindowImpl
\83N
\83\89\83X
\82Ö
\83`
\83F
\81[
\83\93
168 // CHAIN_MSG_MAP(CUpdateUI<CNliteMainFrame>)
169 CHAIN_MSG_MAP(CFrameWindowImpl<CNliteMainFrame>)
172 //
\83T
\83C
\83Y
\95Ï
\8dX
\92\86
173 LRESULT OnSizing(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL& bHandled){
177 GetClientRect(&client);
179 ChangeSize( _WTYPES_NS::CSize(client.right - client.left,client.bottom - client.top));
190 //
\83T
\83C
\83Y
\95Ï
\8dX
\8cã
191 LRESULT OnSize(UINT uMsg,WPARAM wParam,LPARAM lParam,BOOL& bHandled){
195 clientSize.cx = LOWORD(lParam);
196 clientSize.cy = HIWORD(lParam);
197 ChangeSize(clientSize);
206 VOID ChangeSize(const SIZE& client);
209 LRESULT OnCreate(LPCREATESTRUCT lpcs);
216 commentView.DestroyWindow();
221 //
\83\81\83j
\83\85\81[
\82©
\82ç
\83t
\83@
\83C
\83\8b\82ð
\8fI
\97¹
\82ð
\91I
\91ð
222 void OnMenuExit(UINT uNotifyCode, int nID, HWND hWndCtl){
223 PostMessage(WM_CLOSE);
226 //
\83\81\83j
\83\85\81[
\82Ì
\83A
\83v
\83\8a\83P
\81[
\83V
\83\87\83\93\83o
\81[
\83W
\83\87\83\93\8fî
\95ñ
\95\
\8e¦
227 void OnMenuAbount(UINT uNotifyCode,int nID,HWND hWndCtl){