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

osgqfont

/* OpenSceneGraph example, osgtext.
*
*  Permission is hereby granted, free of charge, to any person obtaining a copy
*  of this software and associated documentation files (the "Software"), to deal
*  in the Software without restriction, including without limitation the rights
*  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
*  copies of the Software, and to permit persons to whom the Software is
*  furnished to do so, subject to the following conditions:
*
*  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
*  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
*  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
*  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
*  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
*  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
*  THE SOFTWARE.
*/
#include <QApplication>
#include <QGridLayout>
#include <QWidget>
#include <osgQt/GraphicsWindowQt>
#include <osgQt/QFontImplementation>
#include <osgDB/ReadFile>
#include <osgDB/WriteFile>
#include <osgDB/Registry>
#include <osgGA/StateSetManipulator>
#include <osgGA/TrackballManipulator>
#include <osgViewer/CompositeViewer>
#include <osgViewer/ViewerEventHandlers>
#include <osg/Geode>
#include <osg/Camera>
#include <osg/ShapeDrawable>
#include <osg/Sequence>
#include <osg/PolygonMode>
#include <osgText/Font>
#include <osgText/Text>
osg::Group* createHUDText()
{
    osg::Group* rootNode = new osg::Group;
    osgText::Font* font = new osgText::Font(new osgQt::QFontImplementation(QFont("Arial")));
    osg::Geode* geode  = new osg::Geode;
    rootNode->addChild(geode);
    float windowHeight = 1024.0f;
    float windowWidth = 1280.0f;
    float margin = 50.0f;
////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Examples of how to set up different text layout
//
    osg::Vec4 layoutColor(1.0f,1.0f,0.0f,1.0f);
    float layoutCharacterSize = 20.0f;
    {
        osgText::Text* text = new osgText::Text;
        text->setFont(font);
        text->setColor(layoutColor);
        text->setCharacterSize(layoutCharacterSize);
        text->setPosition(osg::Vec3(margin,windowHeight-margin,0.0f));
        // the default layout is left to right, typically used in languages
        // originating from europe such as English, French, German, Spanish etc..
        text->setLayout(osgText::Text::LEFT_TO_RIGHT);
        text->setText("text->setLayout(osgText::Text::LEFT_TO_RIGHT);");
        geode->addDrawable(text);
    }
    {
        osgText::Text* text = new osgText::Text;
        text->setFont(font);
        text->setColor(layoutColor);
        text->setCharacterSize(layoutCharacterSize);
        text->setPosition(osg::Vec3(windowWidth-margin,windowHeight-margin,0.0f));
        // right to left layouts would be used for hebrew or arabic fonts.
        text->setLayout(osgText::Text::RIGHT_TO_LEFT);
        text->setAlignment(osgText::Text::RIGHT_BASE_LINE);
        text->setText("text->setLayout(osgText::Text::RIGHT_TO_LEFT);");
        geode->addDrawable(text);
    }
    {
        osgText::Text* text = new osgText::Text;
        text->setFont(font);
        text->setColor(layoutColor);
        text->setPosition(osg::Vec3(margin,windowHeight-margin,0.0f));
        text->setCharacterSize(layoutCharacterSize);
        // vertical font layout would be used for asian fonts.
        text->setLayout(osgText::Text::VERTICAL);
        text->setText("text->setLayout(osgText::Text::VERTICAL);");
        geode->addDrawable(text);
    }
////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Examples of how to set up different font resolution
//
    osg::Vec4 fontSizeColor(0.0f,1.0f,1.0f,1.0f);
    float fontSizeCharacterSize = 30;
    osg::Vec3 cursor = osg::Vec3(margin*2,windowHeight-margin*2,0.0f);
    {
        osgText::Text* text = new osgText::Text;
        text->setFont(font);
        text->setColor(fontSizeColor);
        text->setCharacterSize(fontSizeCharacterSize);
        text->setPosition(cursor);
        // use text that uses 10 by 10 texels as a target resolution for fonts.
        text->setFontResolution(10,10); // blocky but small texture memory usage
        text->setText("text->setFontResolution(10,10); // blocky but small texture memory usage");
        geode->addDrawable(text);
    }
    cursor.y() -= fontSizeCharacterSize;
    {
        osgText::Text* text = new osgText::Text;
        text->setFont(font);
        text->setColor(fontSizeColor);
        text->setCharacterSize(fontSizeCharacterSize);
        text->setPosition(cursor);
        // use text that uses 20 by 20 texels as a target resolution for fonts.
        text->setFontResolution(20,20); // smoother but higher texture memory usage (but still quite low).
        text->setText("text->setFontResolution(20,20); // smoother but higher texture memory usage (but still quite low).");
        geode->addDrawable(text);
    }
    cursor.y() -= fontSizeCharacterSize;
    {
        osgText::Text* text = new osgText::Text;
        text->setFont(font);
        text->setColor(fontSizeColor);
        text->setCharacterSize(fontSizeCharacterSize);
        text->setPosition(cursor);
        // use text that uses 40 by 40 texels as a target resolution for fonts.
        text->setFontResolution(40,40); // even smoother but again higher texture memory usage.
        text->setText("text->setFontResolution(40,40); // even smoother but again higher texture memory usage.");
        geode->addDrawable(text);
    }
////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Examples of how to set up different sized text
//
    osg::Vec4 characterSizeColor(1.0f,0.0f,1.0f,1.0f);
    cursor.y() -= fontSizeCharacterSize*2.0f;
    {
        osgText::Text* text = new osgText::Text;
        text->setFont(font);
        text->setColor(characterSizeColor);
        text->setFontResolution(20,20);
        text->setPosition(cursor);
        // use text that is 20 units high.
        text->setCharacterSize(20); // small
        text->setText("text->setCharacterSize(20.0f); // small");
        geode->addDrawable(text);
    }
    cursor.y() -= 30.0f;
    {
        osgText::Text* text = new osgText::Text;
        text->setFont(font);
        text->setColor(characterSizeColor);
        text->setFontResolution(30,30);
        text->setPosition(cursor);
        // use text that is 30 units high.
        text->setCharacterSize(30.0f); // medium
        text->setText("text->setCharacterSize(30.0f); // medium");
        geode->addDrawable(text);
    }
    cursor.y() -= 50.0f;
    {
        osgText::Text* text = new osgText::Text;
        text->setFont(font);
        text->setColor(characterSizeColor);
        text->setFontResolution(40,40);
        text->setPosition(cursor);
        // use text that is 60 units high.
        text->setCharacterSize(60.0f); // large
        text->setText("text->setCharacterSize(60.0f); // large");
        geode->addDrawable(text);
    }
////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Examples of how to set up different alignments
//
    osg::Vec4 alignmentSizeColor(0.0f,1.0f,0.0f,1.0f);
    float alignmentCharacterSize = 25.0f;
    cursor.x() = 640;
    cursor.y() = margin*4.0f;
    typedef std::pair<osgText::Text::AlignmentType,std::string> AlignmentPair;
    typedef std::vector<AlignmentPair> AlignmentList;
    AlignmentList alignmentList;
    alignmentList.push_back(AlignmentPair(osgText::Text::LEFT_TOP,"text->setAlignment(\nosgText::Text::LEFT_TOP);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::LEFT_CENTER,"text->setAlignment(\nosgText::Text::LEFT_CENTER);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::LEFT_BOTTOM,"text->setAlignment(\nosgText::Text::LEFT_BOTTOM);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::CENTER_TOP,"text->setAlignment(\nosgText::Text::CENTER_TOP);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::CENTER_CENTER,"text->setAlignment(\nosgText::Text::CENTER_CENTER);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::CENTER_BOTTOM,"text->setAlignment(\nosgText::Text::CENTER_BOTTOM);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::RIGHT_TOP,"text->setAlignment(\nosgText::Text::RIGHT_TOP);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::RIGHT_CENTER,"text->setAlignment(\nosgText::Text::RIGHT_CENTER);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::RIGHT_BOTTOM,"text->setAlignment(\nosgText::Text::RIGHT_BOTTOM);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::LEFT_BASE_LINE,"text->setAlignment(\nosgText::Text::LEFT_BASE_LINE);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::CENTER_BASE_LINE,"text->setAlignment(\nosgText::Text::CENTER_BASE_LINE);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::RIGHT_BASE_LINE,"text->setAlignment(\nosgText::Text::RIGHT_BASE_LINE);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::LEFT_BOTTOM_BASE_LINE,"text->setAlignment(\nosgText::Text::LEFT_BOTTOM_BASE_LINE);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::CENTER_BOTTOM_BASE_LINE,"text->setAlignment(\nosgText::Text::CENTER_BOTTOM_BASE_LINE);"));
    alignmentList.push_back(AlignmentPair(osgText::Text::RIGHT_BOTTOM_BASE_LINE,"text->setAlignment(\nosgText::Text::RIGHT_BOTTOM_BASE_LINE);"));
    osg::Sequence* sequence = new osg::Sequence;
    {
        for(AlignmentList::iterator itr=alignmentList.begin();
            itr!=alignmentList.end();
            ++itr)
        {
            osg::Geode* alignmentGeode = new osg::Geode;
            sequence->addChild(alignmentGeode);
            sequence->setTime(sequence->getNumChildren(), 1.0f);
            osgText::Text* text = new osgText::Text;
            text->setFont(font);
            text->setColor(alignmentSizeColor);
            text->setCharacterSize(alignmentCharacterSize);
            text->setPosition(cursor);
            text->setDrawMode(osgText::Text::TEXT|osgText::Text::ALIGNMENT|osgText::Text::BOUNDINGBOX);
            text->setAlignment(itr->first);
            text->setText(itr->second);
            alignmentGeode->addDrawable(text);
        }
    }
    sequence->setMode(osg::Sequence::START);
    sequence->setInterval(osg::Sequence::LOOP, 0, -1);
    sequence->setDuration(1.0f, -1);
    rootNode->addChild(sequence);
////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Examples of how to set up different fonts...
//
    cursor.x() = margin*2.0f;
    cursor.y() = margin*2.0f;
    osg::Vec4 fontColor(1.0f,0.5f,0.0f,1.0f);
    float fontCharacterSize = 20.0f;
    float spacing = 40.0f;
    {
        osgText::Text* text = new osgText::Text;
        text->setColor(fontColor);
        text->setPosition(cursor);
        text->setCharacterSize(fontCharacterSize);
        text->setFont(0);
        text->setText("text->setFont(0); // inbuilt font.");
        geode->addDrawable(text);
        cursor.x() = text->getBoundingBox().xMax() + spacing ;
    }
    {
        osgText::Font* arial = new osgText::Font(new osgQt::QFontImplementation(QFont("Arial")));
        osgText::Text* text = new osgText::Text;
        text->setColor(fontColor);
        text->setPosition(cursor);
        text->setCharacterSize(fontCharacterSize);
        text->setFont(arial);
        text->setText(arial!=0?
                      "text->setFont(\"fonts/arial.ttf\");":
                      "unable to load \"fonts/arial.ttf\"");
        geode->addDrawable(text);
        cursor.x() = text->getBoundingBox().xMax() + spacing ;
    }
    {
        osgText::Font* times = new osgText::Font(new osgQt::QFontImplementation(QFont("Times")));
        osgText::Text* text = new osgText::Text;
        text->setColor(fontColor);
        text->setPosition(cursor);
        text->setCharacterSize(fontCharacterSize);
        geode->addDrawable(text);
        text->setFont(times);
        text->setText(times!=0?
                      "text->setFont(\"fonts/times.ttf\");":
                      "unable to load \"fonts/times.ttf\"");
        cursor.x() = text->getBoundingBox().xMax() + spacing ;
    }
    cursor.x() = margin*2.0f;
    cursor.y() = margin;
    {
        osgText::Font* dirtydoz = new osgText::Font(new osgQt::QFontImplementation(QFont("Times")));
        osgText::Text* text = new osgText::Text;
        text->setColor(fontColor);
        text->setPosition(cursor);
        text->setCharacterSize(fontCharacterSize);
        text->setFont(dirtydoz);
        text->setText(dirtydoz!=0?
                      "text->setFont(\"fonts/dirtydoz.ttf\");":
                      "unable to load \"fonts/dirtydoz.ttf\"");
        geode->addDrawable(text);
        cursor.x() = text->getBoundingBox().xMax() + spacing ;
    }
    {
        osgText::Font* fudd = new osgText::Font(new osgQt::QFontImplementation(QFont("Times")));
        osgText::Text* text = new osgText::Text;
        text->setColor(fontColor);
        text->setPosition(cursor);
        text->setCharacterSize(fontCharacterSize);
        text->setFont(fudd);
        text->setText(fudd!=0?
                      "text->setFont(\"fonts/fudd.ttf\");":
                      "unable to load \"fonts/fudd.ttf\"");
        geode->addDrawable(text);
        cursor.x() = text->getBoundingBox().xMax() + spacing ;
    }
    return rootNode;
}
// create text which sits in 3D space such as would be inserted into a normal model
osg::Group* create3DText(const osg::Vec3& center,float radius)
{
    osg::Geode* geode  = new osg::Geode;
////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Examples of how to set up axis/orientation alignments
//
    float characterSize=radius*0.2f;
    osg::Vec3 pos(center.x()-radius*.5f,center.y()-radius*.5f,center.z()-radius*.5f);
    osgText::Text* text1 = new osgText::Text;
    text1->setFont(new osgText::Font(new osgQt::QFontImplementation(QFont("Times"))));
    text1->setCharacterSize(characterSize);
    text1->setPosition(pos);
    text1->setAxisAlignment(osgText::Text::XY_PLANE);
    text1->setText("XY_PLANE");
    geode->addDrawable(text1);
    osgText::Text* text2 = new osgText::Text;
    text2->setFont(new osgText::Font(new osgQt::QFontImplementation(QFont("Times"))));
    text2->setCharacterSize(characterSize);
    text2->setPosition(pos);
    text2->setAxisAlignment(osgText::Text::YZ_PLANE);
    text2->setText("YZ_PLANE");
    geode->addDrawable(text2);
    osgText::Text* text3 = new osgText::Text;
    text3->setFont(new osgText::Font(new osgQt::QFontImplementation(QFont("Times"))));
    text3->setCharacterSize(characterSize);
    text3->setPosition(pos);
    text3->setAxisAlignment(osgText::Text::XZ_PLANE);
    text3->setText("XZ_PLANE");
    geode->addDrawable(text3);
    osgText::Text* text4 = new osgText::Text;
    text4->setFont(new osgText::Font(new osgQt::QFontImplementation(QFont("Times"))));
    text4->setCharacterSize(characterSize);
    text4->setPosition(center);
    text4->setAxisAlignment(osgText::Text::SCREEN);
    osg::Vec4 characterSizeModeColor(1.0f,0.0f,0.5f,1.0f);
    osgText::Text* text5 = new osgText::Text;
    text5->setColor(characterSizeModeColor);
    text5->setFont(new osgText::Font(new osgQt::QFontImplementation(QFont("Times"))));
    //text5->setCharacterSize(characterSize);
    text5->setCharacterSize(32.0f); // medium
    text5->setPosition(center - osg::Vec3(0.0, 0.0, 0.2));
    text5->setAxisAlignment(osgText::Text::SCREEN);
    text5->setCharacterSizeMode(osgText::Text::SCREEN_COORDS);
    text5->setText("CharacterSizeMode SCREEN_COORDS(size 32.0)");
    geode->addDrawable(text5);
    osgText::Text* text6 = new osgText::Text;
    text6->setColor(characterSizeModeColor);
    text6->setFont(new osgText::Font(new osgQt::QFontImplementation(QFont("Times"))));
    text6->setCharacterSize(characterSize);
    text6->setPosition(center - osg::Vec3(0.0, 0.0, 0.4));
    text6->setAxisAlignment(osgText::Text::SCREEN);
    text6->setCharacterSizeMode(osgText::Text::OBJECT_COORDS_WITH_MAXIMUM_SCREEN_SIZE_CAPPED_BY_FONT_HEIGHT);
    text6->setText("CharacterSizeMode OBJECT_COORDS_WITH_MAXIMUM_SCREEN_SIZE_CAPPED_BY_FONT_HEIGHT");
    geode->addDrawable(text6);
    osgText::Text* text7 = new osgText::Text;
    text7->setColor(characterSizeModeColor);
    text7->setFont(new osgText::Font(new osgQt::QFontImplementation(QFont("Times"))));
    text7->setCharacterSize(characterSize);
    text7->setPosition(center - osg::Vec3(0.0, 0.0, 0.6));
    text7->setAxisAlignment(osgText::Text::SCREEN);
    text7->setCharacterSizeMode(osgText::Text::OBJECT_COORDS);
    text7->setText("CharacterSizeMode OBJECT_COORDS (default)");
    geode->addDrawable(text7);
#if 1
    // reproduce outline bounding box compute problem with backdrop on.
    text4->setBackdropType(osgText::Text::OUTLINE);
    text4->setDrawMode(osgText::Text::TEXT | osgText::Text::BOUNDINGBOX);
#endif
    text4->setText("SCREEN");
    geode->addDrawable(text4);
    osg::ShapeDrawable* shape = new osg::ShapeDrawable(new osg::Sphere(center,characterSize*0.2f));
    shape->getOrCreateStateSet()->setMode(GL_LIGHTING,osg::StateAttribute::ON);
    geode->addDrawable(shape);
    osg::Group* rootNode = new osg::Group;
    rootNode->addChild(geode);
    return rootNode;
}
class MainWindow : public QWidget {
public:
    MainWindow()
    {
        osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits(osg::DisplaySettings::instance().get());
        traits->width = width();
        traits->height = height();
        traits->doubleBuffer = true;
        osgQt::GraphicsWindowQt* graphicsWindow = new osgQt::GraphicsWindowQt(traits.get());
        QGridLayout* grid = new QGridLayout;
        grid->setMargin(0);
        grid->addWidget(graphicsWindow->getGLWidget(), 0, 0);
        setLayout(grid);
        _viewer.setThreadingModel(osgViewer::Viewer::SingleThreaded);
        osg::Camera* camera = _viewer.getCamera();
        camera->setGraphicsContext(graphicsWindow);
        camera->setViewport(new osg::Viewport(0, 0, width(), height()));
        startTimer(10);
    }
    virtual void paintEvent(QPaintEvent* event)
    {
        _viewer.frame();
    }
    virtual void timerEvent(QTimerEvent* event)
    {
        _viewer.frame();
    }
    void setSceneData(osg::Node* node)
    {
        _viewer.setSceneData(node);
    }
    void setCameraManipulator(osgGA::CameraManipulator* manipulator, bool resetPosition = true)
    {
        _viewer.setCameraManipulator(manipulator, resetPosition);
    }
private:
    osgViewer::Viewer _viewer;
};
int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    // prepare scene.
    osg::Vec3 center(0.0f,0.0f,0.0f);
    float radius = 1.0f;
    // create the hud.
    osg::ref_ptr<osg::Camera> camera = new osg::Camera;
    camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
    camera->setProjectionMatrixAsOrtho2D(0,1280,0,1024);
    camera->setViewMatrix(osg::Matrix::identity());
    camera->setClearMask(GL_DEPTH_BUFFER_BIT);
    camera->addChild(createHUDText());
    camera->getOrCreateStateSet()->setMode(GL_LIGHTING,osg::StateAttribute::OFF);
    // make sure the root node is group so we can add extra nodes to it.
    osg::ref_ptr<osg::Group> group = new osg::Group;
    group->addChild(camera.get());
    group->addChild(create3DText(center, radius));
    // The qt window
    MainWindow widget;
    // set the scene to render
    widget.setSceneData(group.get());
    widget.setCameraManipulator(new osgGA::TrackballManipulator);
    widget.setGeometry(100, 100, 800, 600);
    widget.show();
    return app.exec();
}

posted on 2017-07-23 20:48 zmj 閱讀(432) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美综合国产精品久久丁香| 欧美.com| 国产一区清纯| 亚洲美女免费视频| 亚洲免费视频中文字幕| 国产精品久久久久久久久免费樱桃| 日韩一二三区视频| 亚洲丶国产丶欧美一区二区三区| 亚洲国产视频直播| 欧美美女bbbb| 久久爱另类一区二区小说| 亚洲国产精品黑人久久久| 久久久久久久久久久成人| 亚洲视频国产视频| 亚洲精品国产精品国自产在线| 亚洲国产成人一区| 欧美日韩综合精品| 欧美极品影院| 久久精品亚洲| 欧美在线二区| 中日韩高清电影网| 久久久噜噜噜久久中文字免| 久久在线观看视频| 国产精品中文在线| 国内精品美女在线观看| 亚洲精品综合精品自拍| 亚洲一区二区三区精品视频 | 欧美日韩免费看| 日韩午夜免费视频| 国产综合久久久久影院| 午夜精品亚洲| 一区二区三区免费观看| 久久久xxx| 在线观看视频一区| 亚洲影院色无极综合| 亚洲第一伊人| 国产女主播在线一区二区| 亚洲视频专区在线| 亚洲国产高清aⅴ视频| 亚洲日本视频| 亚洲免费成人av| 小黄鸭视频精品导航| 欧美三级网址| 一本色道综合亚洲| 亚洲电影免费观看高清| 亚洲黄色在线观看| 亚洲福利在线观看| 亚洲成人自拍视频| 欧美精品一区二区三区蜜臀| 伊人久久久大香线蕉综合直播| 久久伊人亚洲| 在线日韩av| 欧美在线免费观看| 亚洲精品久久7777| 欧美成人免费网| 在线国产精品播放| 久久久久一区二区三区| 一本色道久久综合亚洲二区三区| 蜜桃av噜噜一区| 在线精品视频一区二区| 久久一区二区视频| 久久精品色图| 激情六月婷婷久久| 麻豆亚洲精品| 麻豆av一区二区三区| 一区免费在线| 麻豆九一精品爱看视频在线观看免费 | 一本不卡影院| 亚洲欧美另类在线| 影音先锋亚洲电影| 亚洲经典视频在线观看| 欧美精品一区二区三区久久久竹菊| 亚洲福利久久| 亚洲电影有码| 国产精品成人aaaaa网站 | 亚洲综合电影| 亚洲高清视频中文字幕| 你懂的视频一区二区| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 久久香蕉精品| 亚洲区免费影片| 欧美大片在线看| 欧美伦理91| 午夜视频一区在线观看| 欧美一级午夜免费电影| 一区免费观看视频| 99精品99久久久久久宅男| 国产精品一区二区三区久久久| 久久久精品动漫| 久久久久欧美| 亚洲无玛一区| 一片黄亚洲嫩模| 在线观看精品| 亚洲午夜一区| 国产色视频一区| 亚洲国产精品久久久久秋霞不卡| 欧美精品尤物在线| 性欧美xxxx视频在线观看| 久久一区二区三区四区| 亚洲新中文字幕| 免费视频一区| 欧美影院一区| 欧美日韩视频| 欧美国产视频在线| 国产精品一区2区| 亚洲电影免费观看高清完整版在线观看| 欧美视频亚洲视频| 亚洲第一在线| 激情综合中文娱乐网| 亚洲午夜精品一区二区三区他趣| 亚洲黄色天堂| 亚洲欧美日韩一区二区三区在线观看 | 麻豆亚洲精品| 国产精品免费观看在线| 亚洲日本一区二区| 在线看无码的免费网站| 亚洲淫性视频| 亚洲综合电影| 欧美日韩视频在线第一区| 亚洲综合导航| 在线视频欧美精品| 极品尤物久久久av免费看| 欧美午夜www高清视频| 国产精品99久久久久久宅男 | 亚洲日本免费电影| 亚洲黄色免费| 一区二区三区国产精品| 性8sex亚洲区入口| 欧美日韩一区在线观看| 久久精品天堂| 欧美成人a∨高清免费观看| 久热精品视频在线观看| a4yy欧美一区二区三区| 免费在线亚洲欧美| 午夜精品福利在线观看| 9l国产精品久久久久麻豆| 亚洲免费婷婷| 亚洲小视频在线| 亚洲第一综合天堂另类专| 亚洲午夜日本在线观看| 夜夜嗨一区二区三区| 亚洲福利国产| 亚洲欧美日韩高清| 久久久www成人免费无遮挡大片| 欧美一区二区三区免费视| 香蕉乱码成人久久天堂爱免费| 亚洲美女尤物影院| 亚洲精品国产精品国产自| 乱码第一页成人| 国产精品嫩草99av在线| 加勒比av一区二区| 欧美一区二区视频网站| 麻豆久久婷婷| 国产偷国产偷亚洲高清97cao| 99精品热视频| 亚洲国产精品123| 国产午夜久久| 欧美一二三视频| 欧美成人资源| 玉米视频成人免费看| 欧美黑人在线观看| 亚洲免费在线电影| 中文一区二区| 久久精品国产亚洲5555| 亚洲欧洲日本国产| 宅男66日本亚洲欧美视频| 久久久久久久999| 久久久久久综合网天天| 亚洲网站视频| 欧美va天堂| 亚洲一区在线直播| 国产日韩精品入口| 国产亚洲一区二区精品| 亚洲精品日本| 欧美日韩免费一区| 国产日韩欧美中文| 欧美有码视频| 91久久在线播放| 欧美一级电影久久| 亚洲男人的天堂在线观看| 国产综合色精品一区二区三区| 蜜臀久久99精品久久久久久9 | 在线免费观看视频一区| 欧美日韩三级在线| 麻豆免费精品视频| 亚洲欧美日韩国产综合| 最新69国产成人精品视频免费| 亚洲一区二区三区在线播放| **网站欧美大片在线观看| 国产精品每日更新| 欧美精品三区| 久久嫩草精品久久久精品| 亚洲在线免费观看| 日韩午夜在线播放| 欧美高清视频一区二区三区在线观看| 久久av资源网| 久久不见久久见免费视频1| 亚洲图片在区色| 99香蕉国产精品偷在线观看| 亚洲国产一区二区三区在线播 |