简单的写字板

#include <stdio.h>
#include "acllib.h"

void mouseListener(int x, int y, int button, int event)
{
    static int ox = 0; // 可以让线条从上个触点接着开始,要不然会每次都从(0,0)开始 
    static int oy = 0;
    static int state = 0; // 初始化鼠标左键状态 
    printf("x = %d, y = %d, button = %d, event = %d.\n", x, y, button, event);
    
    //鼠标左键按下时状态 
    if(button == 1 && event == 0)
    {
        state = 1;
    }
    
    //鼠标左键抬起时状态 
    if(button == 1 && event == 2)
    {
        state = 0;
    }
    
    //鼠标左键按下时开始绘图,抬起时停止。 
    if(state == 1)
    {
        beginPaint();
        setPenColor(RED); //笔触颜色
        setPenWidth(3);   //笔触大小 
        line(ox, oy, x, y);
        endPaint();
    }
    ox = x;
    oy = y;
}

void keyboardListener(int key, int event)
{
    printf("key = %d, event = %d.\n", key, event);
}

int Setup()
{
    initWindow("写字板", DEFAULT, DEFAULT, 640, 480);//初始化界面 
    
    registerMouseEvent(mouseListener);  //鼠标回调函数 
    registerKeyboardEvent(keyboardListener); //键盘回调函数 
    
    return 0;
}
时间: 2024-10-07 18:22:03

简单的写字板的相关文章

一起来学习Android自定义控件2-简单的写字板控件

概述 上一篇文章我们对自定义控件进行了一个大体的知识介绍.今天就来学习自定义一个简单的写字板控件. 先来看看效果图 就是简单的根据手指写下的轨迹去画出内容 实现 在上一篇文章里提到了android官方给出的自定义控件需要考虑以下几点: 创建View 处理View的布局 绘制View 与用户进行交互 优化已定义的View 就按照这个步骤来完成今天的自定义控件 1.创建View 上篇提到创建View这一步的时候要考虑的就是很简单的自定义属性的声明.使用. 今天的控件可以有一些什么自定义属性呢?要实现

html5之canvas画图 1.写字板功能

 写字板事例:       写字板分析:1.点击鼠标開始写字(onmosedown)2.按下鼠标写字(onmousemove)3.松开鼠标,停下写字(撤销onmousemove事件):       代码: <strong><!doctype html> </strong><html> <head> <meta charset="utf-8"> <title>Canvas</title> &l

简单的留言板

制作一个简单的留言板,用户在输入框中输入内容,提交,然后内容显现在box里面 依然首先需要获取到输入框,提交按钮,box: 然后给提交按钮设置点击事件: 获取输入框的内容: 显示到box中 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #box{

简单的留言板jquery

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <title></title> <meta http-equiv="content" content="text/html" char

iOS开发UI篇—事件处理(完成一个简单的涂鸦板)

iOS开发UI篇-事件处理(实现一个简单的涂鸦板) 一.说明 该程序使用事件处理机制和绘图完成了一个简单的涂鸦板应用,使用鼠标在涂鸦板内拖动即可进行涂鸦,点击保存到相册按钮,可以把完成的涂鸦保存到手机的相册中,点击回退按钮可以向后退回一步,点击清空可以让涂鸦板清空. 文件结构和界面搭建: 二.代码示例 YYViewController.m文件 1 // 2 // YYViewController.m 3 // 02-画板程序 4 // 5 // Created by apple on 14-6-

[canvas基础]pc&amp;mobile写字板

目的:实现canvas写字板 兼容:同时支持PC和mobile 功能:实现基础的写字板功能,未进行功能拓展,如,画布背景,画笔样式,记录步骤…… 创建时间:2015年7月1日/最后修改时间:2015年7月2日 主要用到的事件:pc:mousedown,mousemove,mouseup, mobile: touchstart,     touchmove,        touchend publicFun: addEventListener <==> removeEventListener,

html5之canvas绘图 1.写字板功能

 写字板事例:       写字板分析:1.点击鼠标开始写字(onmosedown)2.按下鼠标写字(onmousemove)3.松开鼠标,停下写字(撤销onmousemove事件):       代码: <strong><!doctype html> </strong><html> <head> <meta charset="utf-8"> <title>Canvas</title> &l

iOS开发UI篇—事件处理(实现一个简单的涂鸦板)

一.说明 该程序使用事件处理机制和绘图完成了一个简单的涂鸦板应用,使用鼠标在涂鸦板内拖动即可进行涂鸦,点击保存到相册按钮,可以把完成的涂鸦保存到手机的相册中,点击回退按钮可以向后退回一步,点击清空可以让涂鸦板清空. 文件结构和界面搭建: 二.代码示例 YYViewController.m文件 复制代码 1 // 2 //  YYViewController.m 3 //  02-画板程序 4 // 5 //  Created by apple on 14-6-12. 6 //  Copyrigh

WPF学习之路(五) 实例:写字板

写字板实例一 MainWindow.xaml <Window x:Class="Wordpad01.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WordPad1.0" Height=&qu