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

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

?? pgmisc.c

?? 開放源碼的編譯器open watcom 1.6.0版的源代碼
?? C
字號:
/****************************************************************************
*
*                            Open Watcom Project
*
*    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
*  ========================================================================
*
*    This file contains Original Code and/or Modifications of Original
*    Code as defined in and that are subject to the Sybase Open Watcom
*    Public License version 1.0 (the 'License'). You may not use this file
*    except in compliance with the License. BY USING THIS FILE YOU AGREE TO
*    ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
*    provided with the Original Code and Modifications, and is also
*    available at www.sybase.com/developer/opensource.
*
*    The Original Code and all software distributed under the License are
*    distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
*    EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
*    ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
*    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
*    NON-INFRINGEMENT. Please see the License for the specific language
*    governing rights and limitations under the License.
*
*  ========================================================================
*
* Description:  WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE
*               DESCRIBE IT HERE!
*
****************************************************************************/


#include <string.h>
#include <stdlib.h>
#include <math.h>
#include "pgvars.h"


void _pg_line( short x1, short y1, short x2, short y2, short color, short style )
//===============================================================================

/*  Draws a line.  Line style and colour are passed as parameters.  */

{
    _setcolor( _PGPalette[ color ].color );
    _setlinestyle( _PGPalette[ style ].style );
    _moveto( x1, y1 );
    _lineto( x2, y2 );
}


void _pg_window( windowtype _WCI86FAR *window )
//=======================================

/*  _pg_window draws a filled in rectangle in the current background
    colour, then draws an empty rectangle with the current border colour. */

{
    _setcolor( _PGPalette[ window->background ].color );
    if( !window->background ) {
        _setfillmask( _PGPalette[ 1 ].fill );
    } else {
        _setfillmask( _PGPalette[ window->background ].fill );
    }
    _rectangle( _GFILLINTERIOR, window->x1, window->y1, window->x2, window->y2 );
    if( window->border ) {
        _setcolor( _PGPalette[ window->bordercolor ].color );
        _setlinestyle( _Style[ window->borderstyle ] );
        _rectangle( _GBORDER, window->x1, window->y1, window->x2, window->y2 );
    }
}


short _MaxLabelLength( char _WCI86FAR *_WCI86FAR *labels, short n, short dim )
//==================================================================

/*  Calculates the length (in pixels) of the longest label.
    Note: dim can be _XVECTOR or _YVECTOR.  */

{
    short               i;
    short               max_length;
    short               curr;

    max_length = 0;
    for( i = 0; i < n; ++i ) {
        curr = _sLabelLength( *labels, dim );
        max_length = max( max_length, curr );
        ++labels;
    }
    return( max_length );
}


short _sLabelLength( char _WCI86FAR *label, short dim )
//================================================

/*  Calculates the length of a single label in pixels. */

{
    short               length;

    if( dim ) {
        length = StringLen( label ) * _CharHeight;
    } else {
        length = _getgtextextent( label );
    }
    return( length );
}


short _MaxLabelWidth( char _WCI86FAR *_WCI86FAR *labels, short n, short dim )
//=================================================================

/*  Calculates the maximum label width for a set of labels in pixels.
    Note: dim can be _XVECTOR or _YVECTOR.  */

{
    short               i;
    short               max_width;
    short               curr;

    if( dim ) {
        max_width = _CharHeight;
    } else {
        max_width = 0;
        for( i = 0; i < n; ++i ) {
            curr = _sMaxLabelWidth( *labels, dim );
            max_width = max( max_width, curr );
            ++labels;
        }
    }
    return( max_width );
}


short _sMaxLabelWidth( char _WCI86FAR *label, short dim )
//==================================================

/*  Finds the maximum width for one label. */
{
    short               max_width;
    short               curr;
    char                charbuf[ 2 ];

    if( dim ) {
        max_width = _CharHeight;
    } else {
        max_width = 0;
        charbuf[ 1 ] = '\0';
        while( *label != '\0' ) {
            charbuf[ 0 ] = *label;
            curr = _getgtextextent( charbuf );
            max_width = max( max_width, curr );
            ++label;
        }
    }
    return( max_width );
}


short _StringPrint( char *str, short format, short ndigits, float value )
//=======================================================================

/*  Convert from float to string. Return the length in pixels.
        _PG_DECFORMAT: decimal  format
        _PG_EXPFORMAT: exponent format  */

{
    char                *num;
    char                *orig;
    int                 dec;
    int                 sign;
    short               exp;
    char                buffer[ 80 ];

    orig = str;
    num = buffer;
    if( format == _PG_EXPFORMAT ) {
        _GR_ecvt( &value, ndigits + 1, &dec, &sign, buffer );
        if( sign != 0 ) {
            *str++ = '-';
        }
        *str++ = *num++;
        *str++ = '.';
        strcpy( str, num );
        str += strlen( num );
        *str++ = 'E';
        if( value == 0 ) {
            exp = 0;
        } else {
            exp = dec - 1;
        }
        if( exp >= 0 ) {
            *str++ = '+';
        } else {
            *str++ = '-';
            exp = -exp;
        }
        *str++ = '0' + exp / 100;
        *str++ = '0' + ( exp % 100 ) / 10;
        *str++ = '0' + exp % 10;
        *str = '\0';
    } else {
        _GR_fcvt( &value, ndigits, &dec, &sign, buffer );
        if( sign != 0 ) {
            *str++ = '-';
        }
        if( dec < 0 ) {
            *str++ = '0';
            *str++ = '.';
            memset( str, '0', -dec );
            str += -dec;
        } else {
            if( dec == 0 && ndigits != 0 ) {
                *str++ = '0';       // always have leading 0
            } else {
                memcpy( str, num, dec );
                num += dec;
                str += dec;
            }
            if( ndigits > 0 ) {
                *str++ = '.';
             }
        }
        strcpy( str, num );
    }
    return( _sLabelLength( orig, _XVECTOR ) );
}


float _pg_scale( axistype _WCI86FAR *axis, float value )
//=================================================

/*  Modifies a value based on the axis information. */

{
    float               tmp;

    if( ( axis->rangetype == _PG_LOGAXIS ) && ( value > 0 ) ) {
//      value = log( value ) / log( axis->logbase );
        tmp = axis->logbase;
        _GR_log( &tmp );    // tmp = log( tmp );
        _GR_log( &value );  // value = log( value );
        value = value / tmp;
    }
    value /= axis->scalefactor;
    return( value );
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区不卡免费| 国产精品蜜臀在线观看| 精品日韩av一区二区| 中文字幕综合网| 美女视频黄频大全不卡视频在线播放| 韩国在线一区二区| 在线观看三级视频欧美| 国产亚洲精品福利| 日韩 欧美一区二区三区| 成人黄页在线观看| 日韩欧美电影在线| 久久99国产乱子伦精品免费| 福利电影一区二区| 日韩一区二区电影| 图片区小说区区亚洲影院| 成av人片一区二区| 久久免费视频色| 日韩电影在线免费观看| 欧美福利一区二区| 国产最新精品免费| 欧美三级视频在线| 中文字幕一区二区三区在线播放 | 久久亚洲精品小早川怜子| 亚洲精品久久7777| 99精品国产一区二区三区不卡| 久久影音资源网| 另类中文字幕网| 日韩一区二区三区四区五区六区| 亚洲图片有声小说| 欧美日韩在线播放三区| 亚洲综合区在线| 91丨porny丨在线| 日韩美女久久久| 粉嫩aⅴ一区二区三区四区五区| 精品国产电影一区二区| 免费欧美日韩国产三级电影| 91精品国产综合久久久久| 亚洲成人777| 欧美人体做爰大胆视频| 亚洲第一综合色| 欧美美女直播网站| 日韩国产欧美三级| 日韩片之四级片| 久久国产精品区| 久久蜜桃av一区精品变态类天堂| 国产精品99久| 日韩一区欧美小说| 在线精品观看国产| 日韩经典一区二区| 精品成人私密视频| 国产精品资源在线看| 国产精品久久久久久久裸模| 色屁屁一区二区| 午夜激情综合网| 欧美大片一区二区| 国产 欧美在线| xvideos.蜜桃一区二区| 日日欢夜夜爽一区| xfplay精品久久| 成人三级伦理片| 亚洲一区在线观看网站| 久久精品视频在线看| 成人精品国产一区二区4080| 日韩一区欧美小说| 欧美一区二区三区免费视频| 国产一区二区三区综合| 国产精品私房写真福利视频| 欧美亚州韩日在线看免费版国语版| 日韩国产欧美在线视频| 久久久99久久| 欧美在线免费视屏| 麻豆国产精品官网| 17c精品麻豆一区二区免费| 欧美日韩午夜影院| 国内精品伊人久久久久av一坑| 中文字幕精品综合| 欧美四级电影网| 国产成人av影院| 午夜婷婷国产麻豆精品| 国产日本欧美一区二区| 欧美色成人综合| 成人精品视频一区二区三区尤物| 亚洲成av人片在线观看无码| 国产婷婷色一区二区三区在线| 色欲综合视频天天天| 精品一区二区精品| 亚洲一区在线视频| 国产精品视频一二三区| 日韩精品一区二区在线观看| 色先锋资源久久综合| 国产一区二区免费看| 三级亚洲高清视频| 亚洲欧美经典视频| 国产欧美一区二区精品性色超碰| 欧美精品1区2区| 色婷婷亚洲一区二区三区| 国产麻豆视频精品| 麻豆成人在线观看| 偷窥国产亚洲免费视频| 亚洲免费观看高清完整版在线观看熊 | 国产精品视频第一区| 欧美一级日韩免费不卡| 欧美丝袜自拍制服另类| 成人av综合在线| 国产呦精品一区二区三区网站| 午夜精品久久久久久久久久久 | 日韩一级免费观看| 欧美老女人在线| 在线观看国产精品网站| 成人av先锋影音| 国产v日产∨综合v精品视频| 黑人巨大精品欧美一区| 免费三级欧美电影| 日本人妖一区二区| 婷婷六月综合网| 午夜成人免费电影| 亚洲午夜精品久久久久久久久| 日韩美女视频19| 亚洲欧美一区二区三区极速播放| 国产精品三级视频| 国产精品三级av在线播放| 国产欧美综合在线| 国产精品萝li| 亚洲日本乱码在线观看| 亚洲欧美日韩综合aⅴ视频| 18成人在线观看| 亚洲激情男女视频| 亚洲成人www| 国产a级毛片一区| 国产在线精品一区二区夜色| 韩国毛片一区二区三区| 国产乱码精品一区二区三区五月婷 | 91免费视频网址| 欧美综合欧美视频| 3d动漫精品啪啪一区二区竹菊| 在线播放日韩导航| 亚洲精品一区二区三区在线观看| www国产成人免费观看视频 深夜成人网| 欧美xfplay| 国产精品午夜电影| 玉米视频成人免费看| 亚洲va天堂va国产va久| 麻豆91精品91久久久的内涵| 国产精品99久久久久久似苏梦涵 | 国产日韩欧美综合在线| 中文字幕亚洲欧美在线不卡| 一区二区三区在线视频观看 | 国产一区二区三区免费看| 国产精品2024| 欧洲精品一区二区| 日韩三区在线观看| 中文字幕中文字幕在线一区| 亚洲午夜久久久久久久久电影网 | 国产一区二区精品久久| 9人人澡人人爽人人精品| 欧美优质美女网站| 精品免费国产一区二区三区四区| 久久这里只有精品6| 亚洲乱码国产乱码精品精小说| 日本成人在线不卡视频| 国产成人福利片| 欧美一区二区三区免费观看视频 | 日韩欧美国产麻豆| 国产精品福利一区二区三区| 午夜欧美视频在线观看| 风间由美性色一区二区三区| 欧美精品vⅰdeose4hd| 中文字幕免费一区| 美女精品自拍一二三四| 91黄色激情网站| 久久噜噜亚洲综合| 婷婷综合另类小说色区| 成人成人成人在线视频| 精品乱码亚洲一区二区不卡| 亚洲综合久久久| 99re8在线精品视频免费播放| 337p亚洲精品色噜噜噜| 有码一区二区三区| 高清久久久久久| 欧美电影免费观看高清完整版在线| 亚洲欧美另类小说| 天使萌一区二区三区免费观看| 国内精品在线播放| 欧美一区二区三区思思人| 亚洲素人一区二区| 懂色中文一区二区在线播放| 91精品久久久久久久99蜜桃 | 国产精品一级黄| 6080午夜不卡| 亚洲精品国产一区二区精华液| 成人污视频在线观看| 精品99999| 韩国精品免费视频| 日韩一卡二卡三卡四卡| 日韩激情视频网站| 777色狠狠一区二区三区| 亚洲午夜在线视频| 在线观看日韩毛片| 免费看黄色91| 日韩精品一区二区三区swag|