From 10b0f1bc56b5b353e96271602846ccfc48f02f9a Mon Sep 17 00:00:00 2001 From: qwerty2501 Date: Tue, 3 Jan 2012 21:41:22 +0900 Subject: [PATCH] 2012/01/03 21:41:22 --- nlite.suo | Bin 147456 -> 147456 bytes nlite/nlite.h | 7 +-- nlite/nlite.vcxproj | 2 + nlite/nlite.vcxproj.filters | 6 +++ nlite/nlite_chatData.cpp | 91 +++++++++++++++++++++++++++++++++++ nlite/nlite_chatData.h | 115 ++++++++++++++++++++++++++++++++++++++++++++ nlite/nlite_commentview.cpp | 62 +++++------------------- nlite/nlite_commentview.h | 67 +------------------------- nlite/nlite_include.h | 1 + nlite/stdafx.h | 1 + 10 files changed, 234 insertions(+), 118 deletions(-) create mode 100644 nlite/nlite_chatData.cpp create mode 100644 nlite/nlite_chatData.h diff --git a/nlite.suo b/nlite.suo index cb1c52e39babc973caf826bd39618ea2859051d4..7f498f0c4ed8b0472318fcafa565e1ec5c8f16b9 100644 GIT binary patch delta 5542 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 delta 5385 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 + @@ -125,6 +126,7 @@ + diff --git a/nlite/nlite.vcxproj.filters b/nlite/nlite.vcxproj.filters index 1df9c90..0768473 100644 --- a/nlite/nlite.vcxproj.filters +++ b/nlite/nlite.vcxproj.filters @@ -69,6 +69,9 @@ ヘッダー ファイル + + ヘッダー ファイル + @@ -89,6 +92,9 @@ ソース ファイル + + ソース ファイル + diff --git a/nlite/nlite_chatData.cpp b/nlite/nlite_chatData.cpp new file mode 100644 index 0000000..7f3fdba --- /dev/null +++ b/nlite/nlite_chatData.cpp @@ -0,0 +1,91 @@ +#include "stdafx.h" +#include "nlite_include.h" + + +CListenerList nlite::listenerList; + +struct ListenerPre{ + + LPCTSTR user_id; + + ListenerPre(LPCTSTR user_id_in): + user_id(user_id_in) + {} + + bool operator()(CListenerList::reference listenerData){ + + return _tcscmp(user_id,listenerData.user_id.c_str()) == 0; + } + +}; + +VOID CCommentList::OnChatReceve(NicoLiveChat_P chatData_in, UINT_PTR count){ + + + CChatData chatData; + chatData.SetChat(*chatData_in); + + + + chatList.push_back(chatData); + return; +} + + +VOID CChatData::SetChat(NicoLiveChat &chat_in){ + + + this->anonymity = _ttol(chat_in.anonymity); + this->premium = _ttol(chat_in.premium); + this->chatBuf = chat_in.chatBuf; + this->no = _ttol(chat_in.no); + + if(_tcscmp(chat_in.locale,TEXT("jp")) == 0){ + this->locale = cuntry::jp; + } else { + this->locale = cuntry::unknown; + } + this->mail.reserve(chat_in.mailCount); + for(UINT_PTR index = 0;index < chat_in.mailCount ;index++){ + + this->mail.push_back(chat_in.mail[index]); + } + + this->name = chat_in.name; + + this->listenerData = &listenerList.Register(chat_in.user_id); + + + this->vpos = _ttol(chat_in.vpos); + this->thread = _ttol(chat_in.thread); + this->date = _ttol(chat_in.date); + + + + return; +} + + +CListenerList::reference CListenerList::Register(LPCTSTR user_id){ + + ListenerPre listenerPre(user_id); + + iterator begin = m_listenerList.begin(); + iterator end = m_listenerList.end(); + + iterator rslt = std::find_if(begin,end,listenerPre); + + if(rslt == end){ + + ListenerData insertData(user_id); + + + m_listenerList.push_back(insertData); + + return m_listenerList.back(); + + } + + return *rslt; + +} \ No newline at end of file diff --git a/nlite/nlite_chatData.h b/nlite/nlite_chatData.h new file mode 100644 index 0000000..c565a43 --- /dev/null +++ b/nlite/nlite_chatData.h @@ -0,0 +1,115 @@ +#pragma once + +namespace nlite{ + namespace cuntry{ + + enum LOCALE{ + unknown, + jp + + }; + + } + + struct ListenerData{ + + public: + tstring user_id; + tstring userName; + COLORREF bkColor; + CBrush baseBkBrush; + BOOL originBkFlag; + public: + ListenerData(LPCTSTR user_id_in): + user_id(user_id_in), + userName(TEXT("")), + bkColor(RGB(0,0,0)), + originBkFlag(FALSE) + { + + } + }; + + class CListenerList{ + + private: + + std::deque m_listenerList; + + public: + + typedef std::deque::reference reference; + + typedef std::deque::iterator iterator; + + /// + ///ƒ†[ƒU[“o˜^ + /// + reference Register(LPCTSTR user_id); + + }; + + + + class CChatData{ + + public: + UINT_PTR premium; //ƒvƒŒƒ~ƒAƒ€ƒtƒ‰ƒO + BOOL anonymity; //“½–¼ƒtƒ‰ƒO + UINT_PTR no; //ƒRƒ”Ô + UINT_PTR vpos; //ƒRƒƒ“ƒg•\Ž¦ˆÊ’u + time_t date; //ŽžŠÔ + cuntry::LOCALE locale; //‘ƒR[ƒh + ListenerData *listenerData; //ƒ†[ƒUî•ñ + tstring name; //–¼‘OB‚‚¢‚Ä‚±‚È‚¢Žž‚à‚ ‚é + tstring chatBuf; //ƒ`ƒƒƒbƒg–{•¶ + std::vector mail; //ƒ[ƒ‹ƒRƒ}ƒ“ƒh + ULONG_PTR thread; //ƒXƒŒƒbƒh”ԍ† + + public: + CChatData() + {} + + VOID SetChat(NicoLiveChat &chat_in); + + }; + + + class CCommentList{ + + private: + std::deque chatList; + + + public: + + CCommentList() + {} + + ~CCommentList(){ + } + + VOID OnConnect(){ + OnDestroy(); + } + + VOID OnDestroy(){ + + chatList.clear(); + } + + UINT_PTR Size(){ + + return chatList.size(); + } + + VOID OnChatReceve(NicoLiveChat_P chatData, UINT_PTR count); + + CChatData &GetChatAt(UINT_PTR no){ + + return chatList.at(no); + } + }; + + +} \ No newline at end of file diff --git a/nlite/nlite_commentview.cpp b/nlite/nlite_commentview.cpp index a2200eb..0514057 100644 --- a/nlite/nlite_commentview.cpp +++ b/nlite/nlite_commentview.cpp @@ -109,11 +109,19 @@ VOID CCommentView::OnDrawList(LPDRAWITEMSTRUCT lpDrawItemStruct){ } else { - SelectObject(lpDrawItemStruct->hDC,bkBurushNomal); - SelectObject(lpDrawItemStruct->hDC,outLinePenNomal); - //ƒeƒLƒXƒg‚Ì”wŒiF‚ðŽw’è - SetBkColor(lpDrawItemStruct->hDC,viewproperty.backColor) ; + + if(chatData.listenerData->originBkFlag == TRUE){ + + SelectObject(lpDrawItemStruct->hDC,chatData.listenerData->baseBkBrush); + SetBkColor(lpDrawItemStruct->hDC,chatData.listenerData->bkColor) ; + + } else { + + SelectObject(lpDrawItemStruct->hDC,bkBurushNomal); + SetBkColor(lpDrawItemStruct->hDC,viewproperty.backColor) ; + + } } @@ -181,7 +189,7 @@ VOID CCommentView::OnDrawList(LPDRAWITEMSTRUCT lpDrawItemStruct){ ::DrawText(lpDrawItemStruct->hDC,noString,_tcslen(noString),&noViewRect,DT_WORD_ELLIPSIS); - ::DrawText(lpDrawItemStruct->hDC,chatData.user_id.c_str(),chatData.user_id.length(),&userNameViewRect,DT_WORD_ELLIPSIS); + ::DrawText(lpDrawItemStruct->hDC,chatData.listenerData->user_id.c_str(),chatData.listenerData->user_id.length(),&userNameViewRect,DT_WORD_ELLIPSIS); ::DrawText(lpDrawItemStruct->hDC,chatData.chatBuf.c_str(),chatData.chatBuf.length(),&chatViewRect,DT_WORDBREAK); @@ -192,53 +200,9 @@ VOID CCommentView::OnDrawList(LPDRAWITEMSTRUCT lpDrawItemStruct){ -VOID CCommentList::OnChatReceve(NicoLiveChat_P chatData_in, UINT_PTR count){ - - - CChatData chatData; - chatData.SetChat(*chatData_in); - - - - chatList.push_back(chatData); - return; -} - - - -VOID CChatData::SetChat(NicoLiveChat &chat_in){ - - - this->anonymity = _ttol(chat_in.anonymity); - this->premium = _ttol(chat_in.premium); - this->chatBuf = chat_in.chatBuf; - this->no = _ttol(chat_in.no); - - if(_tcscmp(chat_in.locale,TEXT("jp")) == 0){ - this->locale = cuntry::jp; - } else { - this->locale = cuntry::unknown; - } - this->mail.reserve(chat_in.mailCount); - for(UINT_PTR index = 0;index < chat_in.mailCount ;index++){ - - this->mail.push_back(chat_in.mail[index]); - } - - this->name = chat_in.name; - - this->user_id = chat_in.user_id; - - - this->vpos = _ttol(chat_in.vpos); - this->thread = _ttol(chat_in.thread); - this->date = _ttol(chat_in.date); - - return; -} diff --git a/nlite/nlite_commentview.h b/nlite/nlite_commentview.h index 53b02dd..3e5f6bb 100644 --- a/nlite/nlite_commentview.h +++ b/nlite/nlite_commentview.h @@ -2,74 +2,9 @@ namespace nlite{ - namespace cuntry{ - enum LOCALE{ - unknown, - jp - - }; - - } - - class CChatData{ - - public: - UINT_PTR premium; - BOOL anonymity; - UINT_PTR no; - UINT_PTR vpos; - time_t date; - cuntry::LOCALE locale; - tstring user_id; - tstring name; - tstring chatBuf; - std::vector mail; - ULONG_PTR thread; - - public: - CChatData() - {} - - VOID SetChat(NicoLiveChat &chat_in ); - - }; - - class CCommentList{ - - private: - std::deque chatList; - - - public: - - CCommentList() - {} - - ~CCommentList(){ - } - - VOID OnConnect(){ - OnDestroy(); - } - - VOID OnDestroy(){ - - chatList.clear(); - } - - UINT_PTR Size(){ - - return chatList.size(); - } - - VOID OnChatReceve(NicoLiveChat_P chatData, UINT_PTR count); - - CChatData &GetChatAt(UINT_PTR no){ + - return chatList.at(no); - } - }; class CStreamStatus{ diff --git a/nlite/nlite_include.h b/nlite/nlite_include.h index 99bf11c..355073e 100644 --- a/nlite/nlite_include.h +++ b/nlite/nlite_include.h @@ -16,6 +16,7 @@ #include "nlite_listviewex.h" +#include "nlite_chatData.h" #include "nlite_commentview.h" #include "nlite_appinfo.h" diff --git a/nlite/stdafx.h b/nlite/stdafx.h index 1a768e9..30d1f0a 100644 --- a/nlite/stdafx.h +++ b/nlite/stdafx.h @@ -36,6 +36,7 @@ #include #include #include +#include #include #include -- 2.11.0