OSDN Git Service

2012/01/20 17:02:52
authorunknown <qwerty2501@users.sourceforge.jp>
Fri, 20 Jan 2012 08:02:52 +0000 (17:02 +0900)
committerunknown <qwerty2501@users.sourceforge.jp>
Fri, 20 Jan 2012 08:02:52 +0000 (17:02 +0900)
nlite.suo
nlite/nlite_commentWrite.cpp
nlite/nlite_commentview.cpp
nlite/nlite_commentview.h
nlite/stdafx.h
nlite_stub/nlite_stub.cpp

index bf19227..1821db2 100644 (file)
Binary files a/nlite.suo and b/nlite.suo differ
index 2fefe24..d63abcd 100644 (file)
@@ -209,6 +209,13 @@ VOID CCommentWriteWindow::OnPaint(HDC hdc){
        return;
 }
 
+static VOID agreeEnterKeyThread(LPVOID userData){
+
+       Sleep(1000);
+       ((CSubChatEdit*)userData)->AgreeEnter();
+
+       return;
+}
 
 VOID CCommentWriteWindow::SendChat(){
        CCommentMaker commentMaker;
@@ -220,7 +227,16 @@ VOID CCommentWriteWindow::SendChat(){
                commentMaker.AddMail(ANONYMOUS_MAILCOMMAND);
        }
 
-       nicoLiveStream.SendChat(commentMaker);
+       if(nicoLiveStream.SendChat(commentMaker) != NLIB_ERR_OK){
+
+               commentSubEdit.AgreeEnter();
+       } else {
+
+               _beginthread(agreeEnterKeyThread,0,&commentSubEdit);
+
+       }
+       
+
        return;
 }
 
index 4d3b16d..3388d39 100644 (file)
@@ -43,9 +43,9 @@ VOID CCommentView::OnConnect(){
        vScrollInfo.cbSize = sizeof(vScrollInfo);
        vScrollInfo.fMask = SIF_RANGE;
 
-       this->SetScrollInfo(SB_VERT,&vScrollInfo,TRUE);
+       
+       this->SetScrollPos(SB_VERT,0,FALSE);
 
-       viewStartHeight = 0;
        m_commentListWindow.SetRedraw(TRUE);
        
        
@@ -213,9 +213,12 @@ VOID CCommentView::OnChatReceveSettle(UINT_PTR chatNo,UINT_PTR commentCountSum){
        
 
 
-       vScrollInfo.fMask = SIF_RANGE | SIF_PAGE;
-       vScrollInfo.cbSize = sizeof(vScrollInfo);
+       vScrollInfo.fMask = SIF_RANGE;
+       vScrollInfo.cbSize = sizeof(vScrollInfo,FALSE);
+
        vScrollInfo.nMax = commentCountSum;
+       this->SetScrollInfo(SB_VERT,&vScrollInfo,FALSE);
+       vScrollInfo.fMask = SIF_PAGE;
        vScrollInfo.nPage = m_commentListWindow.CalcScrollPage();
        
        
@@ -227,11 +230,15 @@ VOID CCommentView::OnChatReceveSettle(UINT_PTR chatNo,UINT_PTR commentCountSum){
        if(scrollFlag == TRUE){
                this->SendMessageW(WM_VSCROLL,MAKEWORD(SB_BOTTOM,0),0);
        }
-       if(vScrollInfo.nPos + vScrollInfo.nPage >= vScrollInfo.nMax - vScrollInfo.nPage && TryEnterCriticalSection(&m_commentListWindow.m_sec) == TRUE){
+       
+
+       if(vScrollInfo.nPos + static_cast<INT_PTR>(vScrollInfo.nPage) >= vScrollInfo.nMax - static_cast<INT_PTR>(vScrollInfo.nPage)&& TryEnterCriticalSection(&m_commentListWindow.m_sec) == TRUE){
                m_commentListWindow.Invalidate();
                m_commentListWindow.Unlock();
        }
        
+       this->SetScrollInfo(SB_VERT,NULL);
+
        return;
 }
 
@@ -451,14 +458,16 @@ VOID CCommentView::OnVScroll(INT_PTR loWParam,SHORT hiWParam,HWND lParam){
 
        }
 
-       dy = max(-1 * vScrollInfo.nPos, min(dy, vScrollInfo.nMax - (vScrollInfo.nPos + (INT_PTR)vScrollInfo.nPage)));
+       //dy = max(-1 * vScrollInfo.nPos, min(dy, vScrollInfo.nMax - (vScrollInfo.nMax + (INT_PTR)vScrollInfo.nPos)));
 
 
        if(dy != 0){
 
                vScrollInfo.nPos += dy;
-               viewStartHeight = vScrollInfo.nPos;
-               this->SetScrollInfo(SB_VERT,&vScrollInfo);
+//             viewStartHeight = vScrollInfo.nPos;
+               this->SetScrollPos(SB_VERT,vScrollInfo.nPos);
+               //this->SetScrollInfo(SB_VERT,&vScrollInfo);
+               this->UpdateWindow();
                if(TryEnterCriticalSection(&m_commentListWindow.m_sec) == TRUE){
                        m_commentListWindow.Invalidate();
                        m_commentListWindow.Unlock();
@@ -572,13 +581,15 @@ VOID CCommentListWindow::OnPaint(HDC in_hdc){
                BOOL selectFlag = FALSE;
                CCommentList::iterator selectData;
                RECT selectRect = {0};
+               UINT_PTR viewStartHeight = self.GetScrollPos(SB_VERT);
+               
        
-               if(commentList.Size() > (UINT_PTR)self.viewStartHeight){
+               if(commentList.Size() > (UINT_PTR)viewStartHeight){
 
        
                        
                        CCommentList::iterator chatData = commentList.begin();
-                       std::advance(chatData,self.viewStartHeight);
+                       std::advance(chatData,viewStartHeight);
                
 
 
@@ -675,9 +686,9 @@ UINT_PTR CCommentListWindow::CalcScrollPage(){
                for(;rbegin != rend;++rbegin){
 
                        height += CalcItemHeight(*rbegin);
-                       
-                       if(height > clientRect.bottom)goto overclientrect;
                        rslt++;
+                       if(height > clientRect.bottom)goto overclientrect;
+                       
                }
        }
        
index 01e010f..5328b61 100644 (file)
@@ -165,7 +165,7 @@ namespace nlite{
                CStreamStatus streamStatus;
                CCommentList commentlist;
                CommentViewProperty viewproperty;
-               INT_PTR viewStartHeight;
+//             INT_PTR viewStartHeight;
                HFONT hHeaderFontNew;
 
                
index 274ec43..37448bc 100644 (file)
@@ -10,7 +10,7 @@
 #define WIN32_LEAN_AND_MEAN                                    // Windows \83w\83b\83_\81[\82©\82ç\8eg\97p\82³\82ê\82Ä\82¢\82È\82¢\95\94\95ª\82ð\8f\9c\8aO\82µ\82Ü\82·\81B
 #define _CRT_SECURE_NO_WARNINGS 1                      //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·\83}\83N\83\8d
 #define  _CRT_NON_CONFORMING_SWPRINTFS 1       //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·\83}\83N\83\8d
-//#define USE_STUB
+#define USE_STUB
 #define _WTL_NO_CSTRING
 // Windows \83w\83b\83_\81\83t\83@\83C\83\8b:
 #include <windows.h>
index a18eb24..ba697d5 100644 (file)
@@ -125,7 +125,7 @@ void commentthread_inteanal(void* userdata){
        NicoLiveStream_P self = (NicoLiveStream_P)userdata;
        DWORD rslt;
        do{
-               rslt = WaitForSingleObject(self->endEvent,500);
+               rslt = WaitForSingleObject(self->endEvent,3000);
 
                if(rslt != WAIT_TIMEOUT){
                        break;
@@ -137,6 +137,11 @@ void commentthread_inteanal(void* userdata){
        _endthread();
 }
 
+VOID NicoLiveStrream_setResFrom(NicoLiveStream_P self,INT_PTR res){
+
+       return;
+}
+
 unsigned int WINAPI commentthread(VOID *usadata){
 
        NicoLiveStream_P self = (NicoLiveStream_P)usadata;
@@ -169,7 +174,7 @@ unsigned int WINAPI commentthread(VOID *usadata){
        DWORD rslt;
        srand((unsigned int)time(NULL));
 
-       for(int indexfirst = 0; indexfirst < 1000;indexfirst++){
+       for(int indexfirst = 0; indexfirst < 0;indexfirst++){
                liveChat.chatBuf = commentcount % 2 == 0 ? TEXT("testcomment\82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 \82 ") : TEXT("test");
                _stprintf((LPTSTR)liveChat.user_id,user_id_format,rand() % 15);
                commentcount++;