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

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

?? colortransform.java

?? java版本的flash文件(swf)播放器
?? JAVA
字號(hào):
/****************************************************************
 * Copyright (c) 2001, David N. Main, All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or
 * without modification, are permitted provided that the 
 * following conditions are met:
 *
 * 1. Redistributions of source code must retain the above 
 * copyright notice, this list of conditions and the following 
 * disclaimer. 
 * 
 * 2. Redistributions in binary form must reproduce the above 
 * copyright notice, this list of conditions and the following 
 * disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * 3. The name of the author may not be used to endorse or 
 * promote products derived from this software without specific 
 * prior written permission. 
 * 
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 
 * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ****************************************************************/
package com.anotherbigidea.flash.structs;

import java.io.*;
import com.anotherbigidea.io.*;

public class ColorTransform
{
    protected double multRed   = 1.0;
    protected double multGreen = 1.0;
    protected double multBlue  = 1.0;
    
    protected int addRed   = 0;
    protected int addGreen = 0;
    protected int addBlue  = 0;
    
    protected double multAlpha = 1.0; //used by AlphaTransform
    protected int    addAlpha  = 0;   //used by AlphaTransform 
    
    public double getMultRed()   { return multRed; }
    public double getMultGreen() { return multGreen; }
    public double getMultBlue()  { return multBlue; }

    public int getAddRed()   { return addRed; }
    public int getAddGreen() { return addGreen; }
    public int getAddBlue()  { return addBlue; }

    public void setMultRed  ( double multRed   ) { this.multRed   = multRed; }
    public void setMultGreen( double multGreen ) { this.multGreen = multGreen; }
    public void setMultBlue ( double multBlue  ) { this.multBlue  = multBlue; }

    public void setAddRed   ( int addRed   ) { this.addRed   = addRed; }
    public void setAddGreen ( int addGreen ) { this.addGreen = addGreen; }
    public void setAddBlue  ( int addBlue  ) { this.addBlue  = addBlue; }    
    
    /**
     * An identity transform
     */
    public ColorTransform() {}
    
    public ColorTransform( double multRed, double multGreen, double multBlue,
                           int addRed,  int addGreen,  int addBlue )
    {
        this.multRed   = multRed;
        this.multGreen = multGreen;
        this.multBlue  = multBlue;
        this.addRed    = addRed;
        this.addGreen  = addGreen;
        this.addBlue   = addBlue;
    }

    public ColorTransform( int addRed,  int addGreen,  int addBlue )
    {
        this.addRed    = addRed;
        this.addGreen  = addGreen;
        this.addBlue   = addBlue;
    }

    public ColorTransform( double multRed, double multGreen, double multBlue )
    {
        this.multRed   = multRed;
        this.multGreen = multGreen;
        this.multBlue  = multBlue;
    }
        
    public ColorTransform( InStream in ) throws IOException 
    {
        in.synchBits();
        
        //--Add and mult are reversed
        boolean hasAddTerms  = ( in.readUBits(1) == 1 );
        boolean hasMultTerms = ( in.readUBits(1) == 1 );
               
        int numBits = (int)in.readUBits(4);
        
        if( hasMultTerms )
        {
            multRed   = ((double)in.readSBits( numBits ))/256.0;
            multGreen = ((double)in.readSBits( numBits ))/256.0;
            multBlue  = ((double)in.readSBits( numBits ))/256.0;            
        }
        
        if( hasAddTerms )
        {
            addRed   = in.readSBits( numBits );
            addGreen = in.readSBits( numBits );
            addBlue  = in.readSBits( numBits );
        }            
    }
    
    public void write( OutStream out ) throws IOException 
    {
        out.flushBits();
        
        boolean hasAddTerms =    ( addRed   != 0 ) 
                              || ( addGreen != 0 ) 
                              || ( addBlue  != 0 ); 

        boolean hasMultTerms =    ( multRed   != 1.0 ) 
                               || ( multGreen != 1.0 ) 
                               || ( multBlue  != 1.0 ); 
        
        int intMultRed   = (int)(multRed   * 256.0);
        int intMultGreen = (int)(multGreen * 256.0);
        int intMultBlue  = (int)(multBlue  * 256.0);
        
        //--Figure out the bit sizes
        int numBits = 1;
        
        if( hasAddTerms )
        {
            int redBits   = out.determineSignedBitSize( addRed );
            int greenBits = out.determineSignedBitSize( addGreen );
            int blueBits  = out.determineSignedBitSize( addBlue );
            
            if( numBits < redBits   ) numBits = redBits;
            if( numBits < greenBits ) numBits = greenBits;
            if( numBits < blueBits  ) numBits = blueBits;
        }
        
        if( hasMultTerms )
        {
            int redBits   = out.determineSignedBitSize( intMultRed );
            int greenBits = out.determineSignedBitSize( intMultGreen );
            int blueBits  = out.determineSignedBitSize( intMultBlue );
            
            if( numBits < redBits   ) numBits = redBits;
            if( numBits < greenBits ) numBits = greenBits;
            if( numBits < blueBits  ) numBits = blueBits;     
        }
        
        //--Add and mult are reversed
        out.writeUBits( 1, hasAddTerms  ? 1L : 0L );
        out.writeUBits( 1, hasMultTerms ? 1L : 0L );
        out.writeUBits( 4, numBits );

        if( hasMultTerms )
        {
            out.writeSBits( numBits, intMultRed   );
            out.writeSBits( numBits, intMultGreen );
            out.writeSBits( numBits, intMultBlue  );
        }        
        
        if( hasAddTerms )
        {
            out.writeSBits( numBits, addRed   );
            out.writeSBits( numBits, addGreen );
            out.writeSBits( numBits, addBlue  );
        }                
        
        out.flushBits();
    }
    
    public void writeWithoutAlpha( OutStream out ) throws IOException 
    {
        write( out );
    }
        
    public void writeWithAlpha( OutStream out ) throws IOException 
    {
        out.flushBits();
        
        boolean hasAddTerms =    ( addRed   != 0 ) 
                              || ( addGreen != 0 ) 
                              || ( addBlue  != 0 )
                              || ( addAlpha != 0 ); 

        boolean hasMultTerms =    ( multRed   != 1.0 ) 
                               || ( multGreen != 1.0 ) 
                               || ( multBlue  != 1.0 )
                               || ( multAlpha != 1.0 ); 
        
        int intMultRed   = (int)(multRed   * 256.0);
        int intMultGreen = (int)(multGreen * 256.0);
        int intMultBlue  = (int)(multBlue  * 256.0);
        int intMultAlpha = (int)(multAlpha * 256.0);
        
        //--Figure out the bit sizes
        int numBits = 1;
        
        if( hasAddTerms )
        {
            int redBits   = out.determineSignedBitSize( addRed );
            int greenBits = out.determineSignedBitSize( addGreen );
            int blueBits  = out.determineSignedBitSize( addBlue );
            int alphaBits = out.determineSignedBitSize( addAlpha );
            
            if( numBits < redBits   ) numBits = redBits;
            if( numBits < greenBits ) numBits = greenBits;
            if( numBits < blueBits  ) numBits = blueBits;
            if( numBits < alphaBits ) numBits = alphaBits;
        }
        
        if( hasMultTerms )
        {
            int redBits   = out.determineSignedBitSize( intMultRed );
            int greenBits = out.determineSignedBitSize( intMultGreen );
            int blueBits  = out.determineSignedBitSize( intMultBlue );
            int alphaBits = out.determineSignedBitSize( intMultAlpha );
            
            if( numBits < redBits   ) numBits = redBits;
            if( numBits < greenBits ) numBits = greenBits;
            if( numBits < blueBits  ) numBits = blueBits;     
            if( numBits < alphaBits ) numBits = alphaBits;
        }
        
        //--Add and mult are reversed
        out.writeUBits( 1, hasAddTerms  ? 1L : 0L );
        out.writeUBits( 1, hasMultTerms ? 1L : 0L );
        out.writeUBits( 4, numBits );

        if( hasMultTerms )
        {
            out.writeSBits( numBits, intMultRed   );
            out.writeSBits( numBits, intMultGreen );
            out.writeSBits( numBits, intMultBlue  );
            out.writeSBits( numBits, intMultAlpha );
        }        
        
        if( hasAddTerms )
        {
            out.writeSBits( numBits, addRed   );
            out.writeSBits( numBits, addGreen );
            out.writeSBits( numBits, addBlue  );
            out.writeSBits( numBits, addAlpha );
        }                
        
        out.flushBits();
    }    
    
    public String toString()
    {
        return " cxform(+rgb,*rgb)=(" + addRed + "," + addGreen + "," + addBlue
               + "," + multRed + "," + multGreen + "," + multBlue + ")";
    }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品 欧美精品| 国产欧美精品一区二区三区四区 | 久久精品亚洲麻豆av一区二区| 日本高清不卡aⅴ免费网站| 99视频在线观看一区三区| 国产麻豆精品theporn| 国产精品原创巨作av| 国产在线精品一区在线观看麻豆| 国产精品一区二区三区99| 国产成人免费在线视频| av午夜精品一区二区三区| 一本久久a久久精品亚洲| 在线亚洲+欧美+日本专区| 欧美美女黄视频| 日日夜夜精品视频天天综合网| 午夜精品爽啪视频| 激情五月婷婷综合| 丁香六月综合激情| 91电影在线观看| 日韩一区二区三区在线观看| 国产精品久久久久婷婷二区次| 国产日韩欧美精品在线| 夜色激情一区二区| 奇米777欧美一区二区| 国产一区二区三区在线观看免费 | 国产麻豆成人传媒免费观看| 风间由美一区二区三区在线观看 | 99精品久久久久久| 色婷婷综合激情| 欧美一区二区三区的| 国产精品欧美一区二区三区| 亚洲高清免费视频| 顶级嫩模精品视频在线看| 日本高清视频一区二区| 精品99一区二区| 久久精品99久久久| 亚洲男人的天堂av| 男男视频亚洲欧美| 国产91精品久久久久久久网曝门| 日本道色综合久久| 久久免费视频色| 亚洲愉拍自拍另类高清精品| 国产一区美女在线| 欧美色爱综合网| 国产精品美女一区二区三区 | 怡红院av一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 久久精品国产第一区二区三区| 91丨九色porny丨蝌蚪| 日韩一区二区不卡| 亚洲精品伦理在线| 亚洲精品国产一区二区精华液 | 欧美一级爆毛片| 国产精品久久久久久久午夜片 | 色综合久久久久综合| 久久色在线视频| 麻豆精品视频在线观看免费| 91久久一区二区| 国产精品家庭影院| 国产在线日韩欧美| 欧美videossexotv100| 日韩 欧美一区二区三区| 色综合久久天天综合网| 亚洲天堂久久久久久久| 成人app在线观看| 国产欧美一区二区三区鸳鸯浴| 免费的国产精品| 欧美精品亚洲一区二区在线播放| 亚洲欧美欧美一区二区三区| 高清beeg欧美| 中文字幕免费一区| 成人av资源网站| 国产精品成人在线观看| 成人黄页毛片网站| 亚洲品质自拍视频| 色婷婷综合中文久久一本| 亚洲精品免费在线观看| 色诱亚洲精品久久久久久| 亚洲另类色综合网站| 欧美亚洲动漫制服丝袜| 午夜精品久久久久久久久| 91精品一区二区三区久久久久久| 日本视频中文字幕一区二区三区| 欧美一区二区三区视频免费播放| 麻豆国产欧美日韩综合精品二区 | 亚洲va国产va欧美va观看| 欧美色欧美亚洲另类二区| 日韩激情在线观看| 久久影院电视剧免费观看| 大胆亚洲人体视频| 一区二区三区日韩欧美| 欧美一区二区三区不卡| 国产一区二区伦理| 日韩毛片在线免费观看| 欧美电影一区二区| 精品中文字幕一区二区小辣椒| 欧美日韩免费高清一区色橹橹 | 九一九一国产精品| 国产午夜一区二区三区| av福利精品导航| 亚洲专区一二三| 91精品国产综合久久婷婷香蕉 | 国产精品国产三级国产普通话99| 色域天天综合网| 美女任你摸久久| 中文字幕亚洲区| 欧美一区二区三区免费在线看| 国产成人综合自拍| 国产色爱av资源综合区| 亚洲靠逼com| 成人avav影音| 日韩精品影音先锋| 国产99精品在线观看| 中文字幕一区二区三区不卡| 欧美三片在线视频观看| 国产九色sp调教91| 亚洲va欧美va国产va天堂影院| 久久精品一区二区| 欧美日韩国产综合一区二区| 国产成人精品影视| 美女高潮久久久| 亚洲精品菠萝久久久久久久| 久久精品日产第一区二区三区高清版 | 亚洲品质自拍视频| 91精品国产色综合久久不卡蜜臀| 欧美一级日韩不卡播放免费| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 美女脱光内衣内裤视频久久影院| 91麻豆精品国产自产在线 | 色先锋资源久久综合| 国产麻豆成人传媒免费观看| 亚洲不卡在线观看| 亚洲精品免费在线观看| 国产精品美女久久久久久久 | 日韩一区二区精品葵司在线| 91色porny蝌蚪| www.久久久久久久久| 韩国欧美一区二区| 老司机免费视频一区二区| 日本欧美一区二区三区乱码| 一区二区三区美女| 亚洲精品成a人| 亚洲卡通动漫在线| 亚洲欧美经典视频| 中文字幕欧美日韩一区| 欧美国产激情二区三区| 国产亚洲一区二区三区在线观看| 精品欧美一区二区久久| 91精品国产日韩91久久久久久| 7777精品久久久大香线蕉| 欧美理论电影在线| 欧美一区二区三区白人| 91精品国产黑色紧身裤美女| 欧美日韩精品欧美日韩精品| 欧美精选一区二区| 欧美大胆人体bbbb| 久久夜色精品国产欧美乱极品| 久久中文字幕电影| 日本一区二区三区国色天香| 欧美国产1区2区| 亚洲欧美电影院| 午夜一区二区三区视频| 日本欧美加勒比视频| 久久精品国产精品亚洲红杏| 国产激情一区二区三区桃花岛亚洲 | 高清国产一区二区| 99久久精品情趣| 91在线观看地址| 欧美精品aⅴ在线视频| 欧美tk丨vk视频| 综合欧美一区二区三区| 亚洲成av人综合在线观看| 美女久久久精品| 99久久国产综合色|国产精品| 欧美午夜视频网站| 精品国产麻豆免费人成网站| 欧美国产乱子伦| 天堂在线一区二区| 国产一区二区不卡在线| av中文字幕在线不卡| 欧美人伦禁忌dvd放荡欲情| 日韩欧美国产成人一区二区| 国产精品污网站| 亚洲大型综合色站| 国产一区在线精品| 色88888久久久久久影院野外 | 国产一区二区精品久久91| 色综合久久综合网97色综合 | 亚洲一区影音先锋| 丝袜美腿亚洲综合| 国产白丝网站精品污在线入口| 成人av综合在线| 91精品国产综合久久小美女| 亚洲国产精品精华液ab| 亚洲第一成人在线| 国产成人av电影在线| 欧美高清性hdvideosex| 18成人在线观看| 国内精品伊人久久久久av影院| 在线观看一区二区视频|