资源简介

linux minigui时钟程序 我已经测试过 没有问题

资源截图

代码片段和文件信息


//*************************  **begin of -- include  ******************************
#include 
#include 
#include 
#include 

#include 
#include 
#include 
#include 
//*************************  **end of -- include  ******************************

#define TIMER_SECOND    100
#define TIMER_MINUTE    101
#define TIMER_HOUR      102

#define PI          3.14159

#define GI_CREATELOGFONT( charset fontname fontsize )             \
        CreateLogFont (FONT_TYPE_NAME_SCALE_TTF                    \
                       fontname charset                           \
                       FONT_WEIGHT_BOLD FONT_SLANT_ROMAN          \
                       FONT_SPACING_CHARCELLFONT_OTHER_AUTOSCALE  \
                        FONT_UNDERLINE_NONE FONT_STRUCKOUT_NONE    \  
                       fontsize 0);

typedef struct {
    int     cenc_x cenc_y;
    int     radii radii_;
    int     value_h value_m value_s;
    double  x y x_ y_;
    double  hour_x hour_y;
    double  min_x min_y;
    double  sec_x sec_y;
    double  sec_len min_len hour_len;
}mp_clock_param;

mp_clock_param cencer;

/*******************************************************************************
 *   desc: 
 *------------------------------------------------------------------------------
 *  param: none
 *------------------------------------------------------------------------------
 * return: 
*******************************************************************************/

int  mb_clock_scale_coor(int value)
{
    
    cencer.x = cencer.cenc_x + cencer.radii*sin(value*6*PI/180);
    cencer.y = cencer.cenc_y - cencer.radii*cos(value*6*PI/180);
    cencer.x_ = cencer.cenc_x + cencer.radii_*sin(value*6*PI/180);
    cencer.y_ = cencer.cenc_y - cencer.radii_*cos(value*6*PI/180);

    return 0;

}

/*******************************************************************************
 *   desc: second hand of clock proc
 *------------------------------------------------------------------------------
 *  param: none
 *------------------------------------------------------------------------------
 * return: 
*******************************************************************************/
int mb_clock_hand(void)
{
    int minute;
    minute = cencer.value_m/12;
    cencer.sec_x = cencer.cenc_x + cencer.sec_len*sin(cencer.value_s*6*PI/180);
    cencer.sec_y = cencer.cenc_y - cencer.sec_len*cos(cencer.value_s*6*PI/180);
    cencer.min_x = cencer.cenc_x + cencer.min_len*sin(cencer.value_m*6*PI/180);
    cencer.min_y = cencer.cenc_y - cencer.min_len*cos(cencer.value_m*6*PI/180);
    // now hour hand coordinate
    switch(minute) {
        case 1:
        case 2:
        case 3:
        case 4:
            cencer.hour_x = cencer.cenc_x + cencer.hour_len*sin((cencer.value_h*30+minute*6)*PI/180);

评论

共有 条评论