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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? css_valueimpl.h

?? It is WEB browser core module with source code. Very good!
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*
 * This file is part of the DOM implementation for KDE.
 *
 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
 * Copyright (C) 2004 Apple Computer, Inc.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public License
 * along with this library; see the file COPYING.LIB.  If not, write to
 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 */

#ifndef _CSS_css_valueimpl_h_
#define _CSS_css_valueimpl_h_

#include "dom/css_value.h"
#include "css/css_base.h"
#include "misc/loader_client.h"
#include <qvaluelist.h>

namespace khtml {
    class RenderStyle;
    class CachedImage;
    class DocLoader;
}

namespace DOM {

class CSSMutableStyleDeclarationImpl;
class CounterImpl;

extern const int inheritableProperties[];
extern const unsigned numInheritableProperties;

class CSSStyleDeclarationImpl : public StyleBaseImpl
{
public:
    virtual bool isStyleDeclaration();

    CSSRuleImpl *parentRule() const;

    virtual DOMString cssText() const = 0;
    virtual void setCssText(const DOMString &, int &exceptionCode) = 0;

    virtual unsigned long length() const = 0;
    virtual DOMString item(unsigned long index) const = 0;

    virtual CSSValueImpl *getPropertyCSSValue(int propertyID) const = 0;
    virtual DOMString getPropertyValue(int propertyID) const = 0;
    virtual bool getPropertyPriority(int propertyID) const = 0;

    virtual void setProperty(int propertyId, const DOMString &value, bool important, int &exceptionCode) = 0;
    virtual DOMString removeProperty(int propertyID, int &exceptionCode) = 0;

    virtual CSSMutableStyleDeclarationImpl *copy() const = 0;
    virtual CSSMutableStyleDeclarationImpl *makeMutable() = 0;
 
    void diff(CSSMutableStyleDeclarationImpl *) const;

    CSSMutableStyleDeclarationImpl *copyPropertiesInSet(const int *set, unsigned length) const;

protected:
    CSSStyleDeclarationImpl(CSSRuleImpl *parentRule = 0);


private:
    CSSStyleDeclarationImpl(const CSSStyleDeclarationImpl &);
    CSSStyleDeclarationImpl& operator=(const CSSStyleDeclarationImpl &);
};

class CSSValueImpl : public StyleBaseImpl
{
public:
    virtual unsigned short cssValueType() const = 0;
    virtual DOMString cssText() const = 0;

    virtual bool isValue() { return true; }
    virtual bool isFontValue() { return false; }
};

class CSSInheritedValueImpl : public CSSValueImpl
{
public:
    virtual unsigned short cssValueType() const;
    virtual DOMString cssText() const;
};

class CSSInitialValueImpl : public CSSValueImpl
{
public:
    virtual unsigned short cssValueType() const;
    virtual DOMString cssText() const;
};

class CSSValueListImpl : public CSSValueImpl
{
public:
    CSSValueListImpl();

    virtual ~CSSValueListImpl();

    unsigned long length() const { return m_values.count(); }
    CSSValueImpl *item ( unsigned long index ) { return m_values.at(index); }

    virtual bool isValueList() { return true; }

    virtual unsigned short cssValueType() const;

    void append(CSSValueImpl *val);
    virtual DOMString cssText() const;

protected:
    QPtrList<CSSValueImpl> m_values;
};


class Counter;
class RGBColor;
class Rect;
class DashboardRegionImpl;

class CSSPrimitiveValueImpl : public CSSValueImpl
{
public:
    CSSPrimitiveValueImpl();
    CSSPrimitiveValueImpl(int ident);
    CSSPrimitiveValueImpl(double num, CSSPrimitiveValue::UnitTypes type);
    CSSPrimitiveValueImpl(const DOMString &str, CSSPrimitiveValue::UnitTypes type);
    CSSPrimitiveValueImpl(const Counter &c);
    CSSPrimitiveValueImpl(RectImpl *r);
    CSSPrimitiveValueImpl(DashboardRegionImpl *r);
    CSSPrimitiveValueImpl(QRgb color);

    virtual ~CSSPrimitiveValueImpl();

    void cleanup();

    unsigned short primitiveType() const {
	    return m_type;
    }

    /*
     * computes a length in pixels out of the given CSSValue. Need the RenderStyle to get
     * the fontinfo in case val is defined in em or ex.
     *
     * The metrics have to be a bit different for screen and printer output.
     * For screen output we assume 1 inch == 72 px, for printer we assume 300 dpi
     *
     * this is screen/printer dependent, so we probably need a config option for this,
     * and some tool to calibrate.
     */
    int computeLength( khtml::RenderStyle *style, QPaintDeviceMetrics *devMetrics );
    int computeLength( khtml::RenderStyle *style, QPaintDeviceMetrics *devMetrics, double multiplier );
    double computeLengthFloat( khtml::RenderStyle *style, QPaintDeviceMetrics *devMetrics,
                               bool applyZoomFactor = true );

    // use with care!!!
    void setPrimitiveType(unsigned short type) { m_type = type; }
    void setFloatValue ( unsigned short unitType, double floatValue, int &exceptioncode );
    double getFloatValue ( unsigned short/* unitType */) const {
	return m_value.num;
    }

    void setStringValue ( unsigned short stringType, const DOM::DOMString &stringValue, int &exceptioncode );
    DOM::DOMString getStringValue() const;
    
    CounterImpl *getCounterValue () const {
        return ( m_type != CSSPrimitiveValue::CSS_COUNTER ? 0 : m_value.counter );
    }

    RectImpl *getRectValue () const {
	return ( m_type != CSSPrimitiveValue::CSS_RECT ? 0 : m_value.rect );
    }

    QRgb getRGBColorValue () const {
	return ( m_type != CSSPrimitiveValue::CSS_RGBCOLOR ? 0 : m_value.rgbcolor );
    }

#if APPLE_CHANGES
    DashboardRegionImpl *getDashboardRegionValue () const {
	return ( m_type != CSSPrimitiveValue::CSS_DASHBOARD_REGION ? 0 : m_value.region );
    }
#endif

    virtual bool isPrimitiveValue() const { return true; }
    virtual unsigned short cssValueType() const;

    int getIdent();

    virtual bool parseString( const DOMString &string, bool = false);
    virtual DOMString cssText() const;

    virtual bool isQuirkValue() { return false; }

protected:
    int m_type;
    union {
	int ident;
	double num;
	DOMStringImpl *string;
	CounterImpl *counter;
	RectImpl *rect;
        QRgb rgbcolor;
        DashboardRegionImpl *region;
    } m_value;
};

// This value is used to handle quirky margins in reflow roots (body, td, and th) like WinIE.
// The basic idea is that a stylesheet can use the value __qem (for quirky em) instead of em
// in a stylesheet.  When the quirky value is used, if you're in quirks mode, the margin will
// collapse away inside a table cell.
class CSSQuirkPrimitiveValueImpl : public CSSPrimitiveValueImpl
{
public:
    CSSQuirkPrimitiveValueImpl(double num, CSSPrimitiveValue::UnitTypes type)
      :CSSPrimitiveValueImpl(num, type) {}

    virtual bool isQuirkValue() { return true; }
};

class CounterImpl : public khtml::Shared<CounterImpl> {
public:
    DOMString identifier() const { return m_identifier; }
    DOMString listStyle() const { return m_listStyle; }
    DOMString separator() const { return m_separator; }

    DOMString m_identifier;
    DOMString m_listStyle;
    DOMString m_separator;
};

class RectImpl : public khtml::Shared<RectImpl> {
public:
    RectImpl();
    virtual ~RectImpl();

    CSSPrimitiveValueImpl *top() { return m_top; }
    CSSPrimitiveValueImpl *right() { return m_right; }
    CSSPrimitiveValueImpl *bottom() { return m_bottom; }
    CSSPrimitiveValueImpl *left() { return m_left; }

    void setTop( CSSPrimitiveValueImpl *top );
    void setRight( CSSPrimitiveValueImpl *right );
    void setBottom( CSSPrimitiveValueImpl *bottom );
    void setLeft( CSSPrimitiveValueImpl *left );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看一级欧美片| 精品蜜桃在线看| 成人av在线观| 国产98色在线|日韩| 国产精品99久久久久久似苏梦涵 | 国产成人午夜精品影院观看视频| 成人免费高清视频在线观看| 国产在线精品免费av| 国产精品一区不卡| 成人app下载| 欧美在线观看一区| 在线不卡中文字幕| 久久免费偷拍视频| 中文字幕一区二区三区在线不卡| 亚洲欧美日韩人成在线播放| 亚洲欧美另类小说视频| 亚洲高清在线视频| 久久国产精品99精品国产| 国产一区二区三区四区五区入口| 激情综合色播五月| 成人在线视频一区二区| 在线观看免费视频综合| 欧美一级黄色片| 欧美国产成人在线| 视频在线观看一区二区三区| 精品一区二区三区在线观看 | 日韩电影一区二区三区| 婷婷夜色潮精品综合在线| 激情综合色综合久久综合| 波多野结衣欧美| 91精品欧美综合在线观看最新| 2024国产精品| 亚洲最大成人网4388xx| 国产一区二区中文字幕| 欧美日韩激情在线| 中文字幕制服丝袜一区二区三区 | 精品剧情在线观看| 亚洲精品中文字幕乱码三区| 男女性色大片免费观看一区二区 | 国产清纯美女被跳蛋高潮一区二区久久w | 国产黄色精品视频| 欧美日韩国产首页| 国产亚洲精品精华液| 亚洲丶国产丶欧美一区二区三区| 久99久精品视频免费观看| 欧美日韩一卡二卡三卡| 亚洲欧洲国产日韩| 国产一区视频在线看| 欧美精品免费视频| 亚洲欧洲一区二区在线播放| 国产主播一区二区三区| 欧美一区二区视频在线观看2020| 国产精品成人一区二区艾草 | 亚洲国产成人一区二区三区| 亚洲777理论| 色天天综合久久久久综合片| 国产亚洲欧美日韩日本| 久久不见久久见免费视频7 | 国产欧美1区2区3区| 青青草97国产精品免费观看无弹窗版 | 日产欧产美韩系列久久99| 成人激情免费网站| 国产婷婷精品av在线| 另类小说视频一区二区| 欧美日韩免费一区二区三区视频| 亚洲婷婷综合色高清在线| 中文字幕永久在线不卡| 国产成人av一区二区三区在线观看| 欧美二区三区的天堂| 亚洲一区影音先锋| 欧美日韩视频在线第一区| 亚洲欧美另类图片小说| 91麻豆123| 一区二区三区成人| 在线观看av不卡| 国产精品资源网| 久久你懂得1024| 成人午夜免费视频| 国产精品三级在线观看| 成人免费不卡视频| 亚洲同性同志一二三专区| 91香蕉视频在线| 亚洲一二三四在线观看| 欧美欧美午夜aⅴ在线观看| 日韩成人伦理电影在线观看| 日韩三级在线观看| 国产精品一区三区| 国产精品超碰97尤物18| 欧美在线一区二区| 日韩电影在线观看网站| 久久久欧美精品sm网站| 成人av网站在线观看免费| 亚洲一区免费视频| 精品蜜桃在线看| 91原创在线视频| 日本成人超碰在线观看| 国产三级久久久| 91色婷婷久久久久合中文| 亚洲国产精品视频| ww久久中文字幕| 色综合天天视频在线观看 | 日韩二区在线观看| 日韩欧美一二三区| av一区二区久久| 天堂资源在线中文精品| 欧美白人最猛性xxxxx69交| 成人免费毛片嘿嘿连载视频| 亚洲精品国产精华液| 欧美一级二级三级蜜桃| 成人蜜臀av电影| 日韩av不卡一区二区| 国产精品成人一区二区三区夜夜夜| 欧美午夜精品免费| 国产伦精品一区二区三区免费迷| 亚洲欧美日韩中文字幕一区二区三区 | 色吊一区二区三区| 国内精品嫩模私拍在线| 亚洲精品欧美激情| 精品美女在线播放| 欧美理论片在线| 欧美α欧美αv大片| 91国偷自产一区二区三区成为亚洲经典 | 久久久av毛片精品| 在线成人av影院| 色系网站成人免费| 狠狠狠色丁香婷婷综合久久五月| 一区二区三区四区在线| 国产精品全国免费观看高清 | 高清不卡一区二区在线| 日韩高清一区在线| 亚洲国产色一区| 国产精品美女久久久久av爽李琼 | 国产精品系列在线| 精品国产人成亚洲区| 在线免费一区三区| 99riav久久精品riav| 国产精品一区二区91| 精品在线播放午夜| 免费成人在线播放| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲已满18点击进入久久| 亚洲成人av电影| 亚洲三级在线免费| 国产精品久久久久久久久免费相片 | 一本大道综合伊人精品热热 | 91视频一区二区三区| 成人美女视频在线观看18| 黄一区二区三区| 精彩视频一区二区| 激情久久久久久久久久久久久久久久| 午夜欧美在线一二页| 亚洲福利视频一区| 香蕉成人伊视频在线观看| 亚洲黄色小视频| 香蕉av福利精品导航| 午夜伊人狠狠久久| 日本中文一区二区三区| 免费观看成人av| 日韩精品成人一区二区在线| 日韩专区一卡二卡| 麻豆91在线看| 国产成人在线网站| 99麻豆久久久国产精品免费优播| 成人动漫av在线| 色八戒一区二区三区| 欧美在线你懂的| 欧美精品久久一区| 久久先锋影音av鲁色资源网| 久久一二三国产| 亚洲视频每日更新| 日本不卡的三区四区五区| 久久99国内精品| 成人一级片在线观看| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 717成人午夜免费福利电影| 欧美日韩一区二区在线观看视频| 91福利在线免费观看| 欧美高清www午色夜在线视频| 日韩三级高清在线| 国产精品视频第一区| 亚洲成人精品影院| 国产成人在线视频网站| 在线欧美日韩精品| 精品久久国产字幕高潮| 国产精品美女一区二区| 亚洲成人免费电影| 高清日韩电视剧大全免费| 91福利在线看| 国产欧美一区二区精品性| 亚洲国产成人tv| 国产精品白丝av| 91麻豆精品国产91久久久使用方法 | 亚洲成人免费看| 粉嫩av一区二区三区| 精品视频在线免费看| 国产午夜精品在线观看| 午夜精品一区二区三区免费视频| 国产精品一区二区无线| 欧美一区二区在线不卡| 国产精品电影一区二区|