注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

民主与科学

独立之人格,自由之思想

 
 
 

日志

 
 

AGLlib库之neutral(上)  

2011-07-03 04:20:17|  分类: AGLlib |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
该部分主要是对不同平台上的相似概念进行封装,并根据不平台进行实现,但对外,却为用户提供统一的接口。
因此该部分分为Android和J2SE两个版本。该部分代码位于com.robin.lib.neutral中。
Android的版本中,该包包括Graphics.java,Image.java和MotionEvent.java共三个文件,注意Sprite.java和Util.java虽然已经包含在了J2SE版本中,但还没能在Android中实现,故没包含在该包中。
Graphics.java文件
package com.robin.lib.neutral;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;
public class Graphics {
 final Canvas g;
 public Graphics(Canvas g)
 {
  this.g=g;
  if(g!=null)
  {
   rect=g.getClipBounds();
  }
 }
 private Rect rect=new Rect();
 public void setClip(int x,int y,int w,int h)
 {
  rect.set(x, y, x+w, y+h);
  g.clipRect(rect);
 }
 Paint p=new Paint();
 public void setColor(int color)
 {
  color=(((0xFF-(color>>24))<<24)|(color&0xFFFFFF));
  p.setColor(color);
 }
 public int getColor()
 {
  int color=p.getColor();
  color=(((0xFF-(color>>24))<<24)|(color&0xFFFFFF));
  return color;
 }
 public void drawLine(int x0,int y0,int x1,int y1)
 {
  g.drawLine(x0, y0, x1, y1, p);
 }
 public void fillRect(int x,int y,int w,int h)
 {
  g.clipRect(x, y, w, h);
  g.drawColor(p.getColor());
  g.clipRect(rect);
 }
 public static int conver2DeviceColor(int color)
 {
  color=(((0xFF-(color>>24))<<24)|(color&0xFFFFFF));
  return color;
 }
 public static int converFromDeviceColor(int color)
 {
  color=(((0xFF-(color>>24))<<24)|(color&0xFFFFFF));
  return color;
 }
}
Image.java文件
package com.robin.lib.neutral;
import android.graphics.Bitmap;
import android.graphics.Canvas;
public class Image {
 private final Bitmap bitMap;
 private Graphics g;
 public static Image createImage(int rgbData[],int width,int height)
 {
  return new Image(rgbData,width,height);
 }
 public static Image createImage(int width,int height)
 {
  return new Image(width,height);
 }
 Image(int width,int height)
 {
  bitMap=Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
  init();
 }
 Image (int rgbData[],int width,int height)
 {
  bitMap=Bitmap.createBitmap(rgbData,width, height, Bitmap.Config.ARGB_8888);
  init();
 }
 private void init()
 {
  Canvas c=new Canvas(bitMap);
  g=new Graphics(c);
  g.setClip(0, 0, this.getWidth(), this.getHeight());
 }
 public Graphics getGraphics()
 {
  return g;
 }
 public Bitmap getBitMap()
 {
  return bitMap;
 }
 int getWidth()
 {
  return bitMap.getWidth();
 }
 int getHeight()
 {
  return bitMap.getHeight();
 } 
}
MotionEvent.java文件
package com.robin.lib.neutral;
public class MotionEvent {
 float x=0;
 float y=0;
 int action=0;
 public final static int ACTION_DOWN=android.view.MotionEvent.ACTION_DOWN;
 public final static int ACTION_UP=android.view.MotionEvent.ACTION_UP;
 public MotionEvent(android.view.MotionEvent motionEvent)
 {
  setEvent(motionEvent);
 }
 public void setEvent(android.view.MotionEvent motionEvent)
 {
  x=motionEvent.getX();
  y=motionEvent.getY();
  action=motionEvent.getAction();
 }
 public float getX()
 {
  return x;
 }
 public float getY()
 {
  return y;
 }
 public int getAction()
 {
  return action;
 }
}
  评论这张
 
阅读(416)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017