青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿

學習QT的一個原因是貌似QT做出來的界面比較絢麗
我倒想看看能做出來啥樣子的

從QT窗體布局說起
凡是窗體布局無非就是如何擺放的問題
1.想當然如果擺放有2個方式一個是所見即所得,一個是使用布局管理器
先說后者吧
2.QT有好幾種布局管理器無非就是啥子流式布局,格子布局等等
從這個層級上說軟件界面都是布局嵌套的
3.布局和控件的關系
   一般是一個布局對應于一個控件容器(或者頂層控件)
   使用當前布局管理器加掛子控件(容器)即可
然后給當前控件掛上布局管理器即可
下面是一個簡單的QT Layout的例子(從QT例子改的)
class Dialog : public QDialog
{
    Q_OBJECT
public:
    Dialog();
private:
    
void createHorizontalGroupBox();

    
enum {button_number = 4};
    QGroupBox 
*groupbox;
    QPushButton 
*buttons[button_number];
    QDialogButtonBox 
*buttonBox;
};
實現如下:
#include <QtGui>

#include 
"dialog.h"

//! [0]
Dialog::Dialog()
{
    createHorizontalGroupBox();

    buttonBox 
= new QDialogButtonBox(QDialogButtonBox::Ok
                                     
| QDialogButtonBox::Cancel);

    connect(buttonBox, SIGNAL(accepted()), 
this, SLOT(accept()));
    connect(buttonBox, SIGNAL(rejected()), 
this, SLOT(reject()));

    QVBoxLayout 
*mainLayout = new QVBoxLayout;
    mainLayout
->addWidget(groupbox);
    mainLayout
->addWidget(buttonBox);
    setLayout(mainLayout);

    setWindowTitle(tr(
"LayoutTest"));
}

void Dialog::createHorizontalGroupBox()
{
    groupbox 
= new QGroupBox(tr("Layout Test"));
    QHBoxLayout 
*layout = new QHBoxLayout;

    buttons[
0= new QPushButton(tr("Button1"));
    buttons[
1= new QPushButton(tr("Button2"));
    buttons[
2= new QPushButton(tr("Button3"));
    buttons[
3= new QPushButton(tr("Button4"));

    
for(int i = 0;i<button_number;i++)
        layout
->addWidget(buttons[i]);
    groupbox
->setLayout(layout);
}

幾個知識點:
1.groupbox = new QGroupBox(tr("Layout Test"));
Layout Test 是個文本這個無須解釋
那tr呢?查查資料知道是為了支持多語言
先知道即可以后使用的話在具體查查吧
2.QDialogButtonBox是個什么東西
   看看最終的程序界面吧
   原來是對話框的確認和取消按鈕
    再看信號槽函數無非就是綁定按鈕到操作函數
    connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
    connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
    那accepted和accept函數有啥區別?
    看看文檔
    accept函數的解釋是:
Hides the modal dialog and sets the result code to Accepted
  accpeted函數的解釋是:
This signal is emitted when the dialog has been accepted either

在說說QT皮膚
學習QT的主要目的就是想做做臉蛋好看好的軟件界面
那就試試看吧
查到的QT有一個名叫QSS(CSS?)的文件可以原來換膚
那就改改看吧
#include <QApplication>
#include 
<QFile>
#include 
<QStyleFactory>
#include 
<QTextStream>
#include 
"dialog.h"

void setSkin(QApplication* const app, QString const &skinFile);

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    setSkin(
&app ,"skin.qss");
    Dialog dialog;
    dialog.show();
    
return app.exec();
}

void setSkin(QApplication* const app, QString const &skinFile)
{
    QFile qss(skinFile);
    qss.open(QFile::ReadOnly);
    app
->setStyleSheet(qss.readAll());
    qss.close();
}
相應的QSS文件如下:
 QPushButton 
 
{
    color
:red;
    background
:url(setting.png)
 
}
這里把PushButton的文本顏色設置為紅色
同時把它的背景設置為圖片stting.png

完了
PS:如果學習新知識?
囫圇吞棗比較適合快速學習

posted @ 2011-03-13 12:08 ccsdu2009 閱讀(5487) | 評論 (2)編輯 收藏
 
說來慚愧學習c++很長時間了一直沒有使用c++開發過軟件界面
所以現在想認認真真的學習一個c++圖形界面框架庫
本來想學習Xwidget但是這個資料不大好找 有啥問題不好解決
那就學習QT吧

不說QT的優缺點,不說如何編譯QT
從QT的主要庫類開始吧
知道了基本的對象之后如果需要學習看看文檔就知道了
如果需要編譯QT的話再下個代碼試著編譯吧

QApplication 應用程序類                管理圖形用戶界面應用程序的控制流和主要設置
QLabel 標簽類                                提供文本或者圖像的顯示
QPushButton 按鈕類                      提供了命令按鈕 按鈕的一種
QButtonGroup 按鈕組合類              按鈕組 相關按鈕的組合
QGroupBox 群組類                         一個有標題的組合框
QDateTimeEdit 日期時間編輯框類  
QLineEdit 行編輯框類                     單行文本編輯器
QTextEdit 文本編輯框類                  單頁面多信息編輯器對象
QComboBox 組合框類
QProgressBar 進度條類
QLCDNumber 數字顯示框類
QScrollBar 滾動條類
QSpinBox 微調框類
QSlider 滑動條類
QIconView 圖標視圖類
QListView 列表視圖類
QListBox 列表框類
QTable 表格類
QValidator 有效性檢查類
QImage 圖像類
QMainWindow 主窗口類
QPopupMenu 彈出性菜單類
QMenuBar 菜單欄類
QToolButton 工具按鈕類
QToolTip 提示類
QWhatsThis 這是什么類
QAction 動作類
QHBoxLayout 水平布局類
QVBoxLayout 垂直布局類
QGridLayout 表格布局類

QT對話框類
QMessageBox 消息對話框類
QProgressDialog 進度條對話框類
QWizard 向導對話框類
QFileDialog 文件對話框類
QColorDialog 顏色對話框類
QFontDialog 字體對話框類
QPrintDialog 打印對話框類

基本就這些對象了
要系統學習QT 還需要看看QT的slot系統,QT庫類接口等
具體的學習就是看例子咯

posted @ 2011-03-12 14:37 ccsdu2009 閱讀(1197) | 評論 (0)編輯 收藏
 
1.boost 這個使用的人多不多說了
2.pthread windows下的posix線程實現
3.libcurl 一個有名的開源網絡爬蟲庫 阿里旺旺中使用到了
4.libeay32 OpenSSL Library
5.libtidy 一個專門解析htm的庫
6.zlib 這個鬼都知道
7.freetype c接口的type2字體處理庫
8.libmad 一個編解碼mp3的庫
9.libogg,等 一個編解碼ogg音頻格式的庫
10.libsnd 一個開源的編解碼十多種音頻格式的庫
11.ffmpeg 一個關于音頻視頻處理的庫
12.Freeimage,Cximage,Devil 這3個都是用來處理圖形的庫
13.libpng,libjpeg,....基本同上
14.angelscript 一個類似lua的腳本引擎 其腳本風格類似于標準c語言
15.flac/flac++一個編解碼flac音頻格式的庫
16.tinyxml,rapidxml,libxml 都是關于xml解析方面的
17.luaplus,luabind都是涉及綁定lua和c++的庫
18.ode,bullet 開源的物理引擎庫
19.timidity一個可以把mid音頻格式轉化為wav格式的庫
20.vlc一個類似ffmeg的庫
21.zthread一個類型boost-thread,pthread的c++風格的多線程庫
22.sigc++,sigslot信號插槽庫 類型的有boost中的signal
23.SDL 簡單的音頻視頻庫
24.hge一個簡單的使用ddraw的2維游戲小引擎
25.opencv一個開源的處理圖形的庫
26.mygui,cegui 都是游戲上使用的GUI系統
27.鬼火游戲引擎,Orge,都是開源的游戲中間件
28.Wxwidget一個開源的跨平臺,類似MFC
29.QT ..
30.loki一個實驗性質的c++庫
31.ace一個網絡通信庫
32.fmod一個有點名氣的游戲音效引擎
33.sqlite 一個開源的桌面數據庫

未完待續

posted @ 2011-03-11 19:52 ccsdu2009 閱讀(19626) | 評論 (12)編輯 收藏
 
libtidy是一個開源的用來診斷,分析,生成html文檔的一個庫
下面的例子是使用libtidy獲取頁面鏈接的例子
代碼如下:
#ifndef PARSEPAGE_HPP
#define PARFSPAGE_HPP
#include 
<string>
#include 
<vector>
#include 
<tidy/buffio.h>
#include 
<tidy/fileio.h>
#include 
<tidy/tidy.h>
#include 
<tidy/tidyenum.h>
#include 
<tidy/platform.h>

//! 解析html頁面 
class ParsePage
{
public:
    typedef std::vector
<std::string> String;
public:
    ParsePage(
int rank = 0,const std::string& cur = ""):rank(rank),cur(cur)
    {
        doc 
= tidyCreate();
        root 
= tidyGetRoot(doc);
    }
    
~ParsePage()
    {
        tidyRelease(doc);
    }
public:
    
//! 解析給定文件
    bool LoadFile(const char* file)
    {    
        
return 1 == tidyParseFile(doc,file);
    }
    
//!解析給定內存
    bool LoadBuffer(const char* buffer)
    {   
        
return 1 == tidyParseString(doc,buffer);
    }
    
//! 內容解析
    void Check()
    {   
        CheckHref(root);
    }
    
//! 獲取鏈接
    int GetLinkNumber()const{return links.size();}
    std::
string GetLinkByIndex(int index){return links.at(index);} 
private:
    
void DoHref(TidyAttr attr);
    
void CheckHref(TidyNode node);
private:
    TidyDoc     doc;
    TidyNode    root;
    std::
string cur;
    
int         rank;
    String      links;
};

#endif
//! ccsdu2004
實現:
#include <boost/algorithm/string.hpp>
#include 
"parsepage.hpp"

void ParsePage::DoHref(TidyAttr attr)
{
    std::
string href(tidyAttrValue(attr));
    
//! 郵箱地址
    if(boost::algorithm::starts_with(href,"mailto:"))
    {
    }
    
//! 鏈接地址
    else
    {
        
if(boost::algorithm::starts_with(href,"http:"))
        {
            size_t itr 
= href.find_last_of('#');
            
if(itr != std::string::npos)
            {
                href 
= href.substr(0,itr);
            }
        }
        
else
        {   
            
if(boost::algorithm::contains(href,"#"))
                
return;
        }
    
        links.push_back(href);
    }
}

void ParsePage::CheckHref(TidyNode node)
{
    TidyNode child;
    
for(child = tidyGetChild(node);child;child = tidyGetNext(child))
    {
        TidyAttr attr 
= tidyAttrGetHREF(child);
        
if(attr)
        {
            DoHref(attr);
        }
        CheckHref(child);
    }
}
這個對象比較簡單
調用Check之后所有的頁面鏈接在links中

posted @ 2011-03-11 19:29 ccsdu2009 閱讀(2042) | 評論 (0)編輯 收藏
 
如何寫出高質量的函數?
根據個人經驗具體如下:
有遺漏請補充
1.從函數功能上考慮要求函數功能單一不能一個函數基本多個功能
2.從命名規則上考慮應該變量,函數命名統一具體根據各個單位有所差異
3.從易讀性上考慮
      一般函數應該寫出函數描述,
      為了能使函數簡單明了函數行數不宜太長以50行為宜
      函數應該以單一返回路徑為佳
4.從變量上考慮應該盡可能使用局部變量而非全局變量
5.從函數健壯性上考慮函數應該輸入參數是否為可能的合法值等等
6.從容錯性上考慮需要注意異常處理
7.另外還需要考慮函數中的變量是否可能會超出其表示范圍.
8.其他....

posted @ 2011-03-10 10:13 ccsdu2009 閱讀(2004) | 評論 (4)編輯 收藏
 
一道中興筆試題
要求是摳出給定字符串中的所有數字然后排序輸入
做法如下:
#include <cstdlib>
#include 
<iostream>
#include 
<string.h>
#include 
<ctype.h>
#include 
<algorithm>
#include 
<iterator>

using namespace std;

void output(char* str,int len)
{  
   
if(str == NULL || len <= 0)
       
return
   
int* data = (int*)malloc(len);
   
char* tmp = (char*)malloc(len+1);
   memset(data,
0,len);
   memset(tmp,
0,sizeof(char)*len);
   
int index = 0;
   
int i = 0;
   
int j = 0;
   
int flag = isdigit(str[0]);
   
   
while(1)
   {  
      
if(i==len || i+== len+1)
          
break;   
      
if(isdigit(str[i+j]) == 0 && flag == 0)
      {   
          i
=i+j+1;
          j
=0;
          flag 
= isdigit(str[i+j]);       
      } 
      
else if(isdigit(str[i+j]) == 0 && flag != 0)
      {   
          memset(tmp,
0,sizeof(char)*(len+1));  
          strncpy(tmp,str
+i,j);
          data[index
++= atoi(tmp);
          flag 
= 0;
      }  
      
else
      {
          j
++;       
      }    
   }
   
   std::sort(data,data
+index);
   std::copy(data,data
+index,std::ostream_iterator<int>(std::cout," "));
   free(tmp);
   free(data);       
}

int main(int argc,char *argv[])
{   
    
char input[] = "33k&99+r5sw1f10gd4vc511gc3";
    output(input,strlen(input));
    system(
"PAUSE");
    
return EXIT_SUCCESS;
}
嚴格說來不應該使用stl中的函數和模板但是為了簡便起見還是這么寫吧
 
另外一直我一直己寫strcpyn函數用于復制給定字符串沒發現庫中有一個類型的strncpy函數

posted @ 2011-03-10 10:01 ccsdu2009 閱讀(2174) | 評論 (1)編輯 收藏
 
1.獲取錯誤 wavOutGetErrorText
static const char * mmerror(MMRESULT mmrError)
{
  
static char mmbuffer[1024];
  
int len;
  sprintf(mmbuffer,
"mm:%d ",(int)mmrError);
  len 
= (int)strlen(mmbuffer);
  waveOutGetErrorText(mmrError, mmbuffer
+len, sizeof(mmbuffer)-len);
  mmbuffer[
sizeof(mmbuffer)-1= 0;
  
return mmbuffer;
}
2. 檢取系統中存在的波形輸出設備的數量
int wavmax = waveOutGetNumDevs();
3.查詢一個指定的波形輸出設備以確定其性能
MMRESULT mmres = waveOutGetDevCaps(i, &caps, sizeof(caps));
if(mmres == MMSYSERR_NOERROR)
{
}

使用winmm播放音頻的例子具體可以參考:libhao具體請google.
4.打開一個波形輸出設備
  MMRESULT mmres;
  mmres = waveOutOpen(&hwo,id,&wavefmt.Format,(DWORD_PTR)0,(DWORD_PTR)device,CALLBACK_NULL|WAVE_ALLOWSYNC);
  if(mmres == MMSYSERR_NOERROR)
  {
  }
  else
  {
  }
5.獲取
波形輸出設備的標識符
MMSYSERR_NOERROR == waveOutGetID(hwo,&id)
6.關閉波形輸出設備
waveOutClose(hwo)
7.設置,清除波形緩沖區
waveOutPrepareHeader
waveOutUnprepareHeader
8.向波形發送數據塊
mmres = waveOutWrite(hwo,&wh,sizeof(WAVEHDR));
為查詢函數如何使用最好的辦法就是使用google code

posted @ 2011-03-01 20:20 ccsdu2009 閱讀(932) | 評論 (0)編輯 收藏
 
本著嚴肅,認真的態度 打算開發新版的Gaimo Audio Library(版本一定要大于2.0.0)
打算重新書寫所有內容
基本考慮如下:
1.不再使用openal音頻庫,也不打算使用Dsound代替之
而打算使用winmm(這樣接近底層,win32下)
2.不再聲稱支持各種格式的音頻文件而使用自定義音頻格式或者使用pcm或wav格式
3.新版SDK可能增加一個簡單的audio convertor以方便轉換音頻格式
4.新版SDK將增加打算的音頻音效算法(reverb,ring等.)
5.使用c++書寫,基于c借口以方便跨語言使用者
6.良好的跨平臺特性
7.以fmod為目標

題外話:
如果你對這個感興趣可以聯系我以作為一個業余愛好
(僅僅業余的:-O)

posted @ 2011-03-01 19:24 ccsdu2009 閱讀(2170) | 評論 (7)編輯 收藏
 
FontForge是一個開源的工業字體庫
本文講述在win32下編譯他的流程
1.下載fontforge_full-20100501.tar.bz2
2.下載cygwin 安裝包
3.以默認配置安裝cygwin
4.以默認方式安裝的cygwin還缺少一些庫還需要安裝下列對象
   x11,zlib,freetype等等
5.或者如果不知道那些包需要安裝那就全部安裝吧  雖然笨一點但是很有效!
6.解壓fontforge到cygwin下的prj目錄
7.點擊cygwin切換目錄到fontfogre下
8.執行/configure
9.make install
10.等待n久
11.檢查編譯結果

posted @ 2011-01-13 10:21 ccsdu2009 閱讀(1385) | 評論 (0)編輯 收藏
 
這段時間沒咋編程序
就寫個c++排列組合函數的使用吧
以后使用得著的
#include <iostream>
#include 
<vector>
#include 
<algorithm>
#include 
<boost/assign.hpp>
#include 
<boost/function.hpp>

using namespace std;
using namespace boost;
using namespace boost::assign;

inline 
void print_(int t){cout<<t<<" ";}
inline 
void print(vector<int>& vec)
{
    for_each(vec.begin(),vec.end(),print_);
    cout
<<endl;
}

//! 全排列測試
void test1()
{
    vector
<int> vec;
    vec 
+= 1,2,3,4,5,6,7,8;
    sort(vec.begin(),vec.end());
    
int i = 0;
    
do
    {
       print(vec);
       i
++;
    }
    
while(next_permutation(vec.begin(),vec.end()));
    std::cout
<<i<<std::endl;
}

//! 組合測試
size_t test2(int n,int m,boost::function<void(std::vector<int>& vec)> fn)
{
    vector
<int> p,set;
    p.insert(p.end(),m,
1);
    p.insert(p.end(),n
-m,0);
    
for(int i = 0;i != p.size();++i)
        
set.push_back(i+1);
    vector
<int> vec;
    size_t cnt 
= 0;
    
do{
        
for(int i = 0;i != p.size();++i)
            
if(p[i])
               vec.push_back(
set[i]);
        fn(vec);
        cnt 
++;
        vec.clear();
    }
while(prev_permutation( p.begin(), p.end()));
    
return cnt;
}

int main()
{
    test1();
    std::cout
<<test2(20,3,print)<<std::endl;
    
return 0;
}
....................................................................................................................

posted @ 2010-12-29 11:21 ccsdu2009 閱讀(7508) | 評論 (5)編輯 收藏
僅列出標題
共38頁: First 21 22 23 24 25 26 27 28 29 Last 
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品国产精品| 久久综合婷婷| 99在线精品观看| 亚洲欧美日韩成人高清在线一区| 午夜精品国产更新| 欧美顶级大胆免费视频| 日韩午夜三级在线| 久久国产精品亚洲77777| 欧美激情视频在线播放 | 亚洲肉体裸体xxxx137| 在线精品国精品国产尤物884a| 一区二区三区在线免费观看| 日韩视频永久免费| 一级日韩一区在线观看| 亚洲无毛电影| 久久躁狠狠躁夜夜爽| 欧美色精品天天在线观看视频 | 国产综合色产在线精品| 99视频精品免费观看| 妖精视频成人观看www| 久久久久综合网| 国产精品裸体一区二区三区| 亚洲免费观看视频| 亚洲国产一区视频| 男女精品视频| 狠狠色狠狠色综合日日小说| 欧美一级黄色网| 亚洲日本va午夜在线电影| 国产精品高清一区二区三区| 久久精品视频亚洲| 中日韩美女免费视频网址在线观看| 欧美本精品男人aⅴ天堂| 激情欧美一区二区三区在线观看 | 亚洲日产国产精品| 久久夜色精品一区| 欧美在线观看你懂的| 国产情人节一区| 性欧美1819sex性高清| 麻豆成人精品| 原创国产精品91| 麻豆精品传媒视频| 国产精品婷婷| 欧美专区中文字幕| 欧美一区二区三区在线视频| 国产日韩欧美在线播放| 久久精品电影| 欧美日韩一区二区在线观看视频 | 在线观看亚洲精品视频| 99视频国产精品免费观看| 一区免费在线| 欧美影院视频| 欧美一级理论片| 欧美三级在线播放| 亚洲破处大片| 日韩视频不卡| 欧美.www| 欧美激情精品久久久久久| 美女黄毛**国产精品啪啪 | 亚洲精品一区二区三区樱花| 久久成人av少妇免费| 香蕉久久夜色精品国产| 欧美日韩另类丝袜其他| 亚洲激情视频| 国产伦精品一区二区三区视频黑人 | 亚洲三级性片| 老司机免费视频一区二区| 久久精品国产清高在天天线| 国产精品久久久91| 亚洲一区二区成人| 国产一区二区三区成人欧美日韩在线观看 | 欧美成人自拍| 亚洲国产欧美一区二区三区久久| 亚洲电影有码| 免费观看久久久4p| 欧美成人免费在线视频| 亚洲第一中文字幕| 免费日韩av| 亚洲国产精品成人久久综合一区| 亚洲国产另类精品专区| 日韩视频中文| 亚洲一区二区三区视频播放| 午夜精品免费视频| 国产综合自拍| 久久久午夜视频| 亚洲高清色综合| 国产亚洲精品高潮| 久久免费的精品国产v∧| av成人老司机| 国产精品久久久久99| 性欧美video另类hd性玩具| 久久精品视频导航| 91久久线看在观草草青青| 亚洲午夜精品| 久热精品在线| 一区二区三区高清不卡| 久久久精品网| 欧美一级一区| 亚洲国产高清自拍| 欧美一级片一区| 欧美国产日韩精品免费观看| 99视频有精品| 国产日韩亚洲| 欧美精品亚洲| 久久av在线| 日韩一级成人av| 久久久久久久综合日本| 欧美精品电影| 欧美亚洲免费| 亚洲免费av网站| 久久婷婷蜜乳一本欲蜜臀| 99伊人成综合| **网站欧美大片在线观看| 欧美日韩国产天堂| 亚洲激情小视频| 久久久亚洲成人| 亚洲一区二区三区四区中文| 伊伊综合在线| 国产视频在线观看一区| 欧美日本不卡高清| 在线中文字幕日韩| 亚洲国产精品精华液2区45| 欧美一区二区三区在| 国产精品一区二区三区四区五区| 美女网站在线免费欧美精品| 亚洲欧美日韩在线一区| 最近看过的日韩成人| 久久资源在线| 久久九九电影| 香蕉成人久久| 亚洲免费一在线| 亚洲天堂av在线免费观看| 欧美日韩一区免费| 欧美国产欧美亚洲国产日韩mv天天看完整 | 9久草视频在线视频精品| 一区在线免费| 国产一区二区三区久久久| 国产精品ⅴa在线观看h| 性欧美xxxx视频在线观看| 夜夜嗨av一区二区三区| 亚洲国产合集| 欧美成人精品激情在线观看| 一本色道久久综合亚洲91| 亚洲国产91精品在线观看| 国产一区二区三区在线观看网站| 国产精品美女www爽爽爽视频| 欧美日韩三级在线| 欧美午夜精品| 国产精品久久久久久久电影| 欧美三日本三级三级在线播放| 欧美激情第4页| 欧美久久久久久久久久| 欧美精品激情| 欧美四级伦理在线| 国产精品午夜视频| 国产视频自拍一区| 精品盗摄一区二区三区| 亚洲高清成人| 亚洲精品麻豆| 亚洲一区二区av电影| 午夜视频在线观看一区二区三区| 午夜精品久久久久99热蜜桃导演| 午夜亚洲性色福利视频| 欧美中文日韩| 美女免费视频一区| 午夜精品短视频| 久久九九精品99国产精品| 久久亚洲综合色| 亚洲电影观看| 一区二区三区免费看| 亚洲福利在线视频| 夜夜嗨一区二区三区| 亚洲欧美日韩一区在线| 久久一区二区视频| 欧美日韩综合精品| 国产一区高清视频| 亚洲人成绝费网站色www| 亚洲在线中文字幕| 一区二区欧美亚洲| 久久高清免费观看| 亚洲电影免费观看高清| 在线视频欧美一区| 久久久久亚洲综合| 欧美日韩精品综合| 激情婷婷欧美| 亚洲男人第一网站| 欧美成人精品在线观看| 亚洲免费av网站| 久久久噜久噜久久综合| 欧美三日本三级少妇三99| 尤物九九久久国产精品的分类| 一本一道久久综合狠狠老精东影业 | 亚洲国产精品123| 欧美尤物巨大精品爽| 亚洲欧洲精品一区二区精品久久久| 亚洲一区二区毛片| 欧美激情一区二区三区蜜桃视频 | 免费美女久久99| 国产精品入口尤物| 99视频精品免费观看| 久久综合中文|