亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? qwindowsstyle.cpp

?? qtopia-phone-2.2.0下公共的控件實(shí)現(xiàn)源代碼。
?? CPP
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/****************************************************************************** $Id: qt/src/widgets/qwindowsstyle.cpp   2.3.12   edited 2005-10-27 $**** Implementation of Windows-like style class**** Created : 981231**** Copyright (C) 1998-2000 Trolltech AS.  All rights reserved.**** This file is part of the widgets module of the Qt GUI Toolkit.**** This file may be distributed under the terms of the Q Public License** as defined by Trolltech AS of Norway and appearing in the file** LICENSE.QPL included in the packaging of this file.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition** licenses may use this file in accordance with the Qt Commercial License** Agreement provided with the Software.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Qt Commercial License Agreements.** See http://www.trolltech.com/qpl/ for QPL licensing information.** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#include "qwindowsstyle.h"#ifndef QT_NO_STYLE_WINDOWS#include "qapplication.h"#include "qpainter.h"#include "qdrawutil.h" // for now#include "qpixmap.h" // for now#include "qpalette.h" // for now#include "qwidget.h"#include "qlabel.h"#include "qimage.h"#include "qpushbutton.h"#include "qwidget.h"#include "qrangecontrol.h"#include "qscrollbar.h"#include "qtabbar.h"#define INCLUDE_MENUITEM_DEF#include "qpopupmenu.h"#include <limits.h>// NOT REVISED/*!  \class QWindowsStyle qwindowsstyle.h  \brief Windows Look and Feel  \ingroup appearance  This class implements the look and feel known from the Windows  platform. Naturally it is also Qt's default GUI style on Windows.*/#if defined(_WS_WIN32_)extern Qt::WindowsVersion qt_winver;#endif/*!    Constructs a QWindowsStyle*/QWindowsStyle::QWindowsStyle() : QCommonStyle(WindowsStyle){    setButtonDefaultIndicatorWidth( 1 );}/*!  Destructs the style.*/QWindowsStyle::~QWindowsStyle(){}/*! \reimp */void QWindowsStyle::drawIndicator( QPainter* p,				   int x, int y, int w, int h, const QColorGroup &g,				   int s, bool down, bool enabled ){#ifndef QT_NO_BUTTON    QBrush fill;    if ( s == QButton::NoChange ) {	QBrush b = p->brush();	QColor c = p->backgroundColor();	p->setBackgroundMode( TransparentMode );	p->setBackgroundColor( green );	fill = QBrush(g.base(), Dense4Pattern);	p->setBackgroundColor( c );	p->setBrush( b );    } else if ( down )	fill = g.brush( QColorGroup::Button );    else	fill = g.brush( enabled ? QColorGroup::Base : QColorGroup::Background );    qDrawWinPanel( p, x, y, w, h, g, TRUE, &fill );    if ( s != QButton::Off ) {	QPointArray a( 7*2 );	int i, xx, yy;	xx = x+3;	yy = y+5;	for ( i=0; i<3; i++ ) {	    a.setPoint( 2*i,   xx, yy );	    a.setPoint( 2*i+1, xx, yy+2 );	    xx++; yy++;	}	yy -= 2;	for ( i=3; i<7; i++ ) {	    a.setPoint( 2*i,   xx, yy );	    a.setPoint( 2*i+1, xx, yy+2 );	    xx++; yy--;	}	if ( s == QButton::NoChange ) {	    p->setPen( g.dark() );	} else {	    p->setPen( g.text() );	}	p->drawLineSegments( a );    }#endif}/*! \reimp */void QWindowsStyle::drawFocusRect( QPainter* p,			      const QRect& r, const QColorGroup &, const QColor* bg, bool){    if (!bg)	p->drawWinFocusRect( r );    else	p->drawWinFocusRect( r, *bg );}/*!  This function draws a rectangle with two pixel line width.  It is called from qDrawWinButton() and qDrawWinPanel().  c1..c4 and fill are used:    1 1 1 1 1 2    1 3 3 3 4 2    1 3 F F 4 2    1 3 F F 4 2    1 4 4 4 4 2    2 2 2 2 2 2*/void QWindowsStyle::drawWinShades( QPainter *p,				   int x, int y, int w, int h,				   const QColor &c1, const QColor &c2,				   const QColor &c3, const QColor &c4,				   const QBrush *fill ){    if ( w < 2 || h < 2 )			// nothing to draw	return;    QPen oldPen = p->pen();    QPointArray a( 3 );    a.setPoint( 0, x, y+h-2 );    a.setPoint( 1, x, y );    a.setPoint( 2, x+w-2, y );    p->setPen( c1 );    p->drawPolyline( a );    a.setPoint( 0, x, y+h-1 );    a.setPoint( 1, x+w-1, y+h-1 );    a.setPoint( 2, x+w-1, y );    p->setPen( c2 );    p->drawPolyline( a );    if ( w > 4 && h > 4 ) {	a.setPoint( 0, x+1, y+h-3 );	a.setPoint( 1, x+1, y+1 );	a.setPoint( 2, x+w-3, y+1 );	p->setPen( c3 );	p->drawPolyline( a );	a.setPoint( 0, x+1, y+h-2 );	a.setPoint( 1, x+w-2, y+h-2 );	a.setPoint( 2, x+w-2, y+1 );	p->setPen( c4 );	p->drawPolyline( a );	if ( fill ) {	    QBrush oldBrush = p->brush();	    p->setBrush( *fill );	    p->setPen( NoPen );	    p->drawRect( x+2, y+2, w-4, h-4 );	    p->setBrush( oldBrush );	}    }    p->setPen( oldPen );}/*! \reimp */voidQWindowsStyle::drawPanel( QPainter *p, int x, int y, int w, int h,		const QColorGroup &g, bool sunken,		   int lineWidth, const QBrush* fill){    if ( lineWidth == 2 ) {	if (sunken)	    drawWinShades( p, x, y, w, h,			   g.dark(), g.light(), g.shadow(), g.midlight(),			   fill );	else	    drawWinShades( p, x, y, w, h,			   g.light(), g.shadow(), g.midlight(), g.dark(),			   fill );    }    else	QStyle::drawPanel( p, x, y, w, h, g, sunken, lineWidth, fill );}/*! \reimp */voidQWindowsStyle::drawPopupPanel( QPainter *p, int x, int y, int w, int h,			       const QColorGroup &g,  int /* lineWidth */,			       const QBrush *fill ){    qDrawWinPanel( p, x, y,  w, h, g, FALSE, fill );}/*! \reimp */voidQWindowsStyle::drawArrow( QPainter *p, ArrowType type, bool down,		 int x, int y, int w, int h,		 const QColorGroup &g, bool enabled, const QBrush *fill ){    QPointArray a;				// arrow polygon    switch ( type ) {    case UpArrow:	a.setPoints( 7, -4,1, 2,1, -3,0, 1,0, -2,-1, 0,-1, -1,-2 );	break;    case DownArrow:	a.setPoints( 7, -4,-2, 2,-2, -3,-1, 1,-1, -2,0, 0,0, -1,1 );	break;    case LeftArrow:	a.setPoints( 7, 1,-3, 1,3, 0,-2, 0,2, -1,-1, -1,1, -2,0 );	break;    case RightArrow:	a.setPoints( 7, -1,-3, -1,3, 0,-2, 0,2, 1,-1, 1,1, 2,0 );	break;    }    if ( a.isNull() )	return;    if ( down ) {	x++;	y++;    }    QPen savePen = p->pen();			// save current pen    if (down)	p->setBrushOrigin(p->brushOrigin() + QPoint(1,1));    if ( fill )	p->fillRect( x, y, w, h, *fill );    if (down)	p->setBrushOrigin(p->brushOrigin() - QPoint(1,1));    if ( enabled ) {	a.translate( x+w/2, y+h/2 );	p->setPen( g.buttonText() );	p->drawLineSegments( a, 0, 3 );		// draw arrow	p->drawPoint( a[6] );    } else {	a.translate( x+w/2+1, y+h/2+1 );	p->setPen( g.light() );	p->drawLineSegments( a, 0, 3 );		// draw arrow	p->drawPoint( a[6] );	a.translate( -1, -1 );	p->setPen( g.mid() );	p->drawLineSegments( a, 0, 3 );		// draw arrow	p->drawPoint( a[6] );    }    p->setPen( savePen );			// restore pen}/*! \reimp */QSizeQWindowsStyle::indicatorSize() const{    return QSize(13,13);}#define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2)/*! \reimp */void QWindowsStyle::drawExclusiveIndicator( QPainter* p,				   int x, int y, int w, int h, const QColorGroup &g,				   bool on, bool down, bool enabled ){    static const QCOORD pts1[] = {		// dark lines	1,9, 1,8, 0,7, 0,4, 1,3, 1,2, 2,1, 3,1, 4,0, 7,0, 8,1, 9,1 };    static const QCOORD pts2[] = {		// black lines	2,8, 1,7, 1,4, 2,3, 2,2, 3,2, 4,1, 7,1, 8,2, 9,2 };    static const QCOORD pts3[] = {		// background lines	2,9, 3,9, 4,10, 7,10, 8,9, 9,9, 9,8, 10,7, 10,4, 9,3 };    static const QCOORD pts4[] = {		// white lines	2,10, 3,10, 4,11, 7,11, 8,10, 9,10, 10,9, 10,8, 11,7,	11,4, 10,3, 10,2 };    static const QCOORD pts5[] = {		// inner fill	4,2, 7,2, 9,4, 9,7, 7,9, 4,9, 2,7, 2,4 };    p->eraseRect( x, y, w, h );    QPointArray a( QCOORDARRLEN(pts1), pts1 );    a.translate( x, y );    p->setPen( g.dark() );    p->drawPolyline( a );    a.setPoints( QCOORDARRLEN(pts2), pts2 );    a.translate( x, y );    p->setPen( g.shadow() );    p->drawPolyline( a );    a.setPoints( QCOORDARRLEN(pts3), pts3 );    a.translate( x, y );    p->setPen( g.midlight() );    p->drawPolyline( a );    a.setPoints( QCOORDARRLEN(pts4), pts4 );    a.translate( x, y );    p->setPen( g.light() );    p->drawPolyline( a );    a.setPoints( QCOORDARRLEN(pts5), pts5 );    a.translate( x, y );    QColor fillColor = ( down || !enabled ) ? g.button() : g.base();    p->setPen( fillColor );    p->setBrush( fillColor  ) ;    p->drawPolygon( a );    if ( on ) {	p->setPen( NoPen );	p->setBrush( g.text() );	p->drawRect( x+5, y+4, 2, 4 );	p->drawRect( x+4, y+5, 4, 2 );    }}/*!  Draws the mask of a mark indicating the state of an exclusive choice*/voidQWindowsStyle::drawExclusiveIndicatorMask( QPainter *p, int x, int y, int w, int h, bool /* on */){    QColorGroup g(color1, color1, color1, color1, color1, color1, color1, color1, color0);    drawExclusiveIndicator(p , x, y, w, h, g, FALSE, FALSE, FALSE );}/*!\reimp */QSizeQWindowsStyle::exclusiveIndicatorSize() const{    return QSize(12,12);}/*!  Draws a press-sensitive shape.*/void QWindowsStyle::drawButton( QPainter *p, int x, int y, int w, int h,				const QColorGroup &g, bool sunken, const QBrush* fill){    if (sunken)	drawWinShades( p, x, y, w, h,		       g.shadow(), g.light(), g.dark(), g.button(),		       fill?fill: &g.brush( QColorGroup::Button ) );    else	drawWinShades( p, x, y, w, h,		       g.light(), g.shadow(), g.button(), g.dark(),		       fill?fill:&g.brush( QColorGroup::Button ) );}/*!\reimp */void QWindowsStyle::drawBevelButton( QPainter *p, int x, int y, int w, int h,				const QColorGroup &g, bool sunken, const QBrush* fill){    QWindowsStyle::drawButton(p, x, y, w, h, g, sunken, fill);}/*!\reimp */voidQWindowsStyle::drawPushButton( QPushButton* btn, QPainter *p){#ifndef QT_NO_PUSHBUTTON    QColorGroup g = btn->colorGroup();    int x1, y1, x2, y2;    btn->rect().coords( &x1, &y1, &x2, &y2 );	// get coordinates    p->setPen( g.foreground() );    p->setBrush( QBrush(g.button(),NoBrush) );    int diw = buttonDefaultIndicatorWidth();    if ( btn->isDefault() || btn->autoDefault() ) {	if ( btn->isDefault() ) {	    p->setPen( g.shadow() );	    p->drawRect( x1, y1, x2-x1+1, y2-y1+1 );	}	x1 += diw;	y1 += diw;	x2 -= diw;	y2 -= diw;    }    bool clearButton = TRUE;    if ( btn->isDown() ) {	if ( btn->isDefault() ) {	    p->setPen( g.dark() );	    p->drawRect( x1, y1, x2-x1+1, y2-y1+1 );	} else {	    drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, TRUE,			&g.brush( QColorGroup::Button ) );	}    } else {	if ( btn->isToggleButton() && btn->isOn() && btn->isEnabled() ) {	    QBrush fill(g.light(), Dense4Pattern );	    drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, TRUE, &fill );	    clearButton = FALSE;	} else {	    if ( !btn->isFlat() )		drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, btn->isOn(),			&g.brush( QColorGroup::Button ) );	}    }    if ( clearButton ) {	if (btn->isDown())

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区蝌蚪| 欧美二区乱c少妇| 国产91丝袜在线观看| 韩国精品主播一区二区在线观看 | 91麻豆视频网站| 粉嫩高潮美女一区二区三区| 成熟亚洲日本毛茸茸凸凹| 成人一区二区三区中文字幕| 成人免费高清在线| 91麻豆swag| 欧美亚日韩国产aⅴ精品中极品| 日本道在线观看一区二区| 色香色香欲天天天影视综合网| 91毛片在线观看| 欧美视频一区在线| 欧美裸体一区二区三区| 91精品视频网| 精品国产一区二区三区不卡| 精品噜噜噜噜久久久久久久久试看 | 日本aⅴ免费视频一区二区三区 | 大桥未久av一区二区三区中文| 丁香六月久久综合狠狠色| 不卡一区中文字幕| 色88888久久久久久影院野外| 色视频一区二区| 在线播放一区二区三区| 精品国产乱码久久久久久夜甘婷婷 | 国产麻豆精品在线| 国产91精品精华液一区二区三区 | 色噜噜久久综合| 欧美日韩一区二区不卡| 欧美一区二区观看视频| 国产午夜精品美女毛片视频| 亚洲图片另类小说| 日韩不卡一区二区三区| 国产高清亚洲一区| 在线看国产一区| 日韩欧美亚洲国产精品字幕久久久 | 日韩视频免费观看高清完整版| 久久久久国产精品厨房| 成人免费一区二区三区视频| 亚洲第一狼人社区| 国产成人综合在线观看| 欧美少妇一区二区| 精品国产露脸精彩对白| 亚洲欧美欧美一区二区三区| 天涯成人国产亚洲精品一区av| 国产一区二区在线电影| 91在线观看地址| 日韩三级av在线播放| 国产精品第13页| 日韩va欧美va亚洲va久久| 成人激情图片网| 日韩一区二区精品在线观看| 国产精品久久久久久久久免费相片| 日韩在线观看一区二区| heyzo一本久久综合| 91麻豆精品国产91久久久| 国产精品短视频| 国产原创一区二区| 欧美欧美午夜aⅴ在线观看| 国产精品福利一区| 国产曰批免费观看久久久| 欧美美女网站色| 亚洲免费伊人电影| 国产精品一级黄| 日韩一区二区三区免费观看| 亚洲一区在线电影| 99久久er热在这里只有精品15 | 亚洲美女视频一区| 国产真实乱偷精品视频免| 欧美日韩免费电影| 亚洲免费av观看| 成人av免费在线观看| 日韩你懂的电影在线观看| 亚洲卡通动漫在线| 成人一区在线看| 久久亚洲综合色一区二区三区| 亚洲成a人片综合在线| 91女人视频在线观看| 日本一区二区免费在线观看视频 | 久久9热精品视频| 欧美日韩国产中文| 一区二区三区国产| www.欧美色图| 国产精品欧美极品| 大白屁股一区二区视频| 国产亚洲一区二区在线观看| 久久国产精品99久久久久久老狼| 欧美酷刑日本凌虐凌虐| 亚洲一区二区三区四区在线免费观看 | 久久精品国内一区二区三区| 欧美日韩一二区| 亚洲成人激情社区| 欧洲精品中文字幕| 亚洲电影视频在线| 欧美最新大片在线看| 亚洲永久免费av| 欧美日韩一区久久| 天天亚洲美女在线视频| 欧美日韩高清一区二区三区| 午夜精品成人在线视频| 欧美午夜片在线观看| 亚洲已满18点击进入久久| 欧美自拍偷拍午夜视频| 亚洲综合成人网| 欧美日韩一区 二区 三区 久久精品| 亚洲图片欧美综合| 3atv在线一区二区三区| 免费亚洲电影在线| 精品久久久久香蕉网| 国产一区二区视频在线| 国产午夜亚洲精品理论片色戒 | 一本一道综合狠狠老| 亚洲综合免费观看高清完整版| 欧洲国产伦久久久久久久| 一区二区三区精品在线| 欧美精品久久天天躁| 日本一区二区在线不卡| 91丝袜美女网| 亚洲欧美日韩久久精品| 一本大道久久a久久精品综合| 一区二区三区91| 69精品人人人人| 国产精品综合久久| 国产女主播在线一区二区| 91色乱码一区二区三区| 日韩高清不卡一区二区三区| 精品盗摄一区二区三区| 99久久亚洲一区二区三区青草| 亚洲黄网站在线观看| 日韩色视频在线观看| 成人久久视频在线观看| 亚洲一级二级三级在线免费观看| 欧美一区二区三区四区在线观看| 国产一区在线不卡| 亚洲青青青在线视频| 欧美精品乱码久久久久久按摩 | 国产999精品久久久久久绿帽| 国内欧美视频一区二区| 欧美大片在线观看| 精品一区二区三区不卡 | 一区二区高清视频在线观看| 在线观看亚洲精品视频| 秋霞影院一区二区| 欧美国产综合一区二区| 欧美性受xxxx黑人xyx| 国内偷窥港台综合视频在线播放| 最新热久久免费视频| 欧美二区在线观看| 成人性色生活片免费看爆迷你毛片| 亚洲黄色av一区| xnxx国产精品| 在线一区二区三区四区五区| 国产伦理精品不卡| 亚洲影院理伦片| 久久精子c满五个校花| 欧美男人的天堂一二区| 成人久久18免费网站麻豆 | 亚洲午夜久久久| 日韩午夜av一区| 91亚洲男人天堂| 久久91精品久久久久久秒播| 亚洲美女电影在线| 日韩免费看网站| 欧亚洲嫩模精品一区三区| 国产黄色精品网站| 日韩电影一区二区三区| 亚洲天堂av一区| 国产香蕉久久精品综合网| 欧美精品乱人伦久久久久久| 91玉足脚交白嫩脚丫在线播放| 成人开心网精品视频| 美国十次综合导航| 亚洲精品v日韩精品| 亚洲国产精品成人综合| 日韩欧美国产三级| 欧美顶级少妇做爰| 色噜噜狠狠成人网p站| 成人午夜激情在线| 精品一区免费av| 日韩av电影免费观看高清完整版| 国产精品美女久久久久久久| 久久婷婷成人综合色| 91精品国产91久久久久久最新毛片| 在线影视一区二区三区| av亚洲精华国产精华精| 国产高清久久久久| 国精产品一区一区三区mba桃花| 日本视频一区二区三区| 亚洲国产你懂的| 夜夜揉揉日日人人青青一国产精品| 欧美激情一区二区三区不卡| 精品国产伦一区二区三区观看方式| 欧美精品久久天天躁| 欧美日韩国产小视频| 91成人免费在线视频| 色综合亚洲欧洲| 99精品1区2区| 91视视频在线观看入口直接观看www|