Exemple #1
0
void fb_drawwline(PFBDEV pFbdev,int x, int y, u32_t color)
{
    int i;
    for (i = 0; i < pFbdev->fb_var.yres; i++) 
    {
        fb_drawpixel(pFbdev,i,384,0x0000ff00);   
    }
}
Exemple #2
0
int mouse_restore(const pinfo_t fb, int x, int y)
{
    int i, j;
    for (j = 0; j < C_HEIGHT; ++j) 
        for (i = 0; i < C_WIDTH; ++i) 
            fb_drawpixel(fb, x+i, y+j, save_cursor[i + j*C_WIDTH]);
    return 0;
}
Exemple #3
0
void fb_drawvline(PFBDEV pFbdev,int x, int y, u32_t color)
{
    int i;
    for (i = 0; i < pFbdev->fb_var.yres; i++) 
    {
        fb_drawpixel(pFbdev,x,i,color);   
    }
}
Exemple #4
0
void fb_drawxline(PFBDEV pFbdev,int x,int y,u32_t color)
{
    int i=0;
    int j=0;
    for (i=0, j=0; i<1024, j<768; i++, j++) 
    {
        fb_drawpixel(pFbdev,i,j,color);
    }
}
Exemple #5
0
int mouse_draw(const pinfo_t fb, int x, int y)
{
    int i, j;
    mouse_save(fb, x, y);
    for (j = 0; j < C_HEIGHT; ++j) 
        for (i = 0; i < C_WIDTH; ++i) 
            if (cursor_pixel[i + j*C_WIDTH] != T___) 
                fb_drawpixel(fb, x+i, y+j, cursor_pixel[i + j*C_WIDTH]);
    return 0;
}
Exemple #6
0
void main(void)
{
    FBDEV fbdev;
    memset(&fbdev,0,sizeof(FBDEV));
    strcpy(fbdev.dev,"/dev/fb0");
    if (fb_open(&fbdev) == FALSE) 
    {
        printf("open frame buffer error\n");
        return ;
    }
    fb_memset((void *)(fbdev.fb_mem + fbdev.fb_mem_offset),0,fbdev.fb_fix.smem_len);
    //画点得函数:
    fb_drawpixel(&fbdev,512,384,0x00ff0000);
    fb_drawpixel(&fbdev,513,384,0x00ff0000);
    fb_drawpixel(&fbdev,512,385,0x00ff0000);
    fb_drawpixel(&fbdev,513,385,0x00ff0000);
    //画直线得函数:
    //fb_drawline(&fbdev,200,100,0x0000ff00);
    fb_line(&fbdev,100,200,300,500,0x000000ff);
    fb_circle(&fbdev,512,348,50,0x00ff0000);
    fb_close(&fbdev);
    getchar();
}
Exemple #7
0
void fb_drawline(PFBDEV pFbdev,int x,int y,u32_t color)
{
    int i;
    int j;
    for (i = 0; i < pFbdev->fb_var.yres; i++) 
    {
        fb_drawpixel(pFbdev,x,i,color);
    }

    for (i = 0; i < pFbdev->fb_var.xres; i++) 
    {
        fb_drawpixel(pFbdev,i,y,color);
    }

    for (i = y; i < pFbdev->fb_var.yres-y; i++) 
    {
        for (j = x; j < pFbdev->fb_var.xres-x; j++) 
        {
            if (i%10==9) 
            {
               fb_drawpixel(pFbdev,j,i,0x00ff0000);
            }
           else if (j%10==9) 
            {
                fb_drawpixel(pFbdev,j,i,0x00ff0000);
            }

            else 
            {
                fb_drawpixel(pFbdev,j,i,color);
            }
        }
    }


}
Exemple #8
0
int fb_circle(PFBDEV pFbdev,int x0,int y0,int r,u32_t color)
{
    int x = 0;
    int y = r;
    int p = 3-2*r;
    
    while(x <= y)
    {
       
        //fb_line(pFbdev,x0+x,y0+y,x0-x,y0+y,color);
        //fb_line(pFbdev,x0+y,y0+x,x0-y,y0+x,color);
        //fb_line(pFbdev,x0+x,y0-y,x0-x,y0-y,color);
        //fb_line(pFbdev,x0+y,y0-x,x0-y,y0-x,color);
        
        fb_drawpixel(pFbdev,x0+x,y0+y,color);
        fb_drawpixel(pFbdev,x0-y,y0+x,color);
        fb_drawpixel(pFbdev,x0+x,y0-y,color);
        fb_drawpixel(pFbdev,x0-y,y0-x,color);
        fb_drawpixel(pFbdev,x0-x,y0+y,color);
        fb_drawpixel(pFbdev,x0+y,y0+x,color);
        fb_drawpixel(pFbdev,x0-x,y0-y,color);
        fb_drawpixel(pFbdev,x0+y,y0-x,color);
  
        if (p<0) 
        {
            p += 4*x+6;
        }
        else
        {
            y--;
            p += 4*(x-y)+10;
        }
        x++;
    }

    return 0;
}
Exemple #9
0
void fb_drawhline(PFBDEV pFbdev,int x,int y,u32_t color)
{
    int i;
    for (i = 0; i < pFbdev->fb_var.xres; i++) 
    {
        fb_drawpixel(pFbdev,i,y,color);
    }
    return;
int fb_line(int x1,int y1,int x2,int y2,u32_t color)
{

    int dx=x2-x1;
    int dy=y2-y1;
    int p=0;
    int inc=((dx*dy<0)?-1:1);
    if(abs(dx)>abs(dy))
    {
       if(dx<0)
        {
           swap(&x1,&x2);
           swap(&y1,&y2);
           dx=-dx;
           dy=-dy;
        }
        dy=abs(dy);
        p=2*dy-dx;
        while(x1<=x2)
        {
            fb_one_pixel(x1,y1,color);
            x1++;
            if(p<0)
            {
              p+=2*dy;
            }
            else
            {                                                                                y1+=inc;                                                                      p+=2*(dy-dx);
            }                                                                          }                                                                            }
       else                                                                           {                                                                                 if(dy<0)
            {                                                                                swap(&x1,&x2);                                                                swap(&y1,&y2);
               dx=-dx;                                                                       dy=-dy;
            }                                                                             dx=abs(dx);                                                                   p=2*dx-dy;
            while(y1<=y2)                                                                {                                                                               fb_one_pixel(x1,y1,color);
             y1++;
             if(p<0)
             {
              p+=2*dx;
             }
             else
             {
              x1+=inc;
              p+=2*(dx-dy);
             }
                                                                                            }                                                               }
                                                                                                     return 0;




int main(void)
{
    FBDEV fbdev;
    memset(&fbdev,0,sizeof(FBDEV));
    strcpy(fbdev.dev,"/dev/fb0");
    if (fb_open(&fbdev)==FALSE) 
    {
        printf("open frame buffer error\n");
        return;
    }
    fb_memset((void *)(fbdev.fb_mem + fbdev.fb_mem_offset),0,fbdev.fb_fix.smem_len);
    //画点
    fb_drawpixel(&fbdev,512,384,0x00FF0000);
    fb_drawpixel(&fbdev,513,384,0x00FF0000);
    fb_drawpixel(&fbdev,512,385,0x00FF0000);
    fb_drawpixel(&fbdev,513,385,0x00FF0000);
    //画垂直线
    fb_drawvline(&fbdev,511,380,0x0000ff00);
    fb_drawhline(&fbdev,380,200,0x000000ff);
    fb_close(&fbdev);
        getchar();
}
Exemple #10
0
int fb_line(PFBDEV pFbdev,int x1,int y1,int x2,int y2,u32_t color)
{
    int p = 0;
    int dx = x2-x1;
    int dy = y2-y1;
    int inc = ((dx*dy<0)?-1:1);
    if (abs(dx)>abs(dy)) 
    {
      if (dx < 0) 
      {   
       swap(&x1,&x2);
       swap(&y1,&y2);
       dx = -dx;
       dy = -dy;
      }
      dy =abs(dy); 
      p = 2*dy-dx;
 
      while(x1 <= x2)
       {
        fb_drawpixel(pFbdev,x1,y1,color);
        x1++;
        if (p<0) 
        {
            p += 2*dy;
        }
        if (p>=0) 
        {
            y1 += inc;
            p += 2*(dy-dx);
        }
      }
    }
    else
    {
      if (dy < 0) 
      {   
       swap(&x1,&x2);
       swap(&y1,&y2);
       dx = -dx;
       dy = -dy;
      }
      dx =abs(dx); 
      p = 2*dx-dy;
 
      while(y1 <= y2)
       {
        fb_drawpixel(pFbdev,x1,y1,color);
        y1++;
        if (p<0) 
        {
            p += 2*dx;
        }
        if (p>=0) 
        {
            x1 += inc;
            p += 2*(dx-dy);
        }
      }
        
    
    }
    return 0;

}