This commit is contained in:
smallsql 2009-03-13 11:26:52 +00:00
Родитель 9bac1d38f3
Коммит 0029f0d8ff
2 изменённых файлов: 83 добавлений и 15 удалений

Просмотреть файл

@ -400,6 +400,10 @@ namespace ikvm.awt
throw new NotImplementedException();
}
public char[] getText()
{
return text;
}
}
class NetLineMetrics : LineMetrics

Просмотреть файл

@ -346,9 +346,16 @@ namespace ikvm.awt
g.DrawPath(pen, gp);
}
public override void drawString(java.text.AttributedCharacterIterator param1, int param2, int param3)
public override void drawString(java.text.AttributedCharacterIterator iterator, int x, int y)
{
throw new NotImplementedException();
if (iterator == null) {
throw new java.lang.NullPointerException("AttributedCharacterIterator is null");
}
if (iterator.getBeginIndex() == iterator.getEndIndex()) {
return; /* nothing to draw */
}
java.awt.font.TextLayout tl = new java.awt.font.TextLayout(iterator, getFontRenderContext());
tl.draw(this, (float) x, (float) y);
}
public override void drawString(string str, int x, int y)
@ -356,9 +363,26 @@ namespace ikvm.awt
drawString(str, (float)x, (float)y);
}
public override void fill3DRect(int param1, int param2, int param3, int param4, bool param5)
public override void fill3DRect(int x, int y, int width, int height, bool raised)
{
throw new NotImplementedException();
java.awt.Paint p = getPaint();
java.awt.Color c = getColor();
java.awt.Color brighter = c.brighter();
java.awt.Color darker = c.darker();
if( !raised ) {
setColor(darker);
} else if( p != c ) {
setColor(c);
}
fillRect(x + 1, y + 1, width - 2, height - 2);
setColor(raised ? brighter : darker);
fillRect(x, y, 1, height);
fillRect(x + 1, y, width - 2, 1);
setColor(raised ? darker : brighter);
fillRect(x + 1, y + height - 1, width - 1, 1);
fillRect(x + width - 1, y, 1, height - 1);
setPaint(p);
}
public override void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
@ -523,6 +547,9 @@ namespace ikvm.awt
public override void setXORMode(java.awt.Color param)
{
if( param == null ) {
throw new java.lang.IllegalArgumentException("null XORColor");
}
throw new NotImplementedException();
}
@ -541,21 +568,47 @@ namespace ikvm.awt
}
}
public override bool drawImage(java.awt.Image image, java.awt.geom.AffineTransform xform, ImageObserver obs)
public override bool drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, ImageObserver observer)
{
Console.WriteLine(new System.Diagnostics.StackTrace());
throw new NotImplementedException();
if (img == null) {
return true;
}
if (xform == null || xform.isIdentity()) {
return drawImage(img, 0, 0, null, observer);
}
throw new NotImplementedException("drawImage(Image,AffineTransform,ImageObserver) not implemented for non-null or non-identity AffineTransform!");
}
public override void drawImage(java.awt.image.BufferedImage image, BufferedImageOp op, int x, int y)
{
Console.WriteLine(new System.Diagnostics.StackTrace());
throw new NotImplementedException();
if( op == null ) {
drawImage(image, x, y, null);
} else {
if( !(op is AffineTransformOp) ) {
drawImage(op.filter(image, null), x, y, null);
} else {
Console.WriteLine(new System.Diagnostics.StackTrace());
throw new NotImplementedException();
}
}
}
public override void drawRenderedImage(java.awt.image.RenderedImage image, java.awt.geom.AffineTransform xform)
public override void drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
{
throw new NotImplementedException();
if (img == null) {
return;
}
// BufferedImage case: use a simple drawImage call
if (img is BufferedImage) {
BufferedImage bufImg = (BufferedImage)img;
drawImage(bufImg,xform,null);
return;
}
throw new NotImplementedException("drawRenderedImage not implemented for images which are not BufferedImages.");
}
public override void drawRenderableImage(java.awt.image.renderable.RenderableImage image, java.awt.geom.AffineTransform xform)
@ -572,7 +625,14 @@ namespace ikvm.awt
public override void drawString(java.text.AttributedCharacterIterator iterator, float x, float y)
{
throw new NotImplementedException();
if( iterator == null ) {
throw new java.lang.NullPointerException("AttributedCharacterIterator is null");
}
if( iterator.getBeginIndex() == iterator.getEndIndex() ) {
return; /* nothing to draw */
}
java.awt.font.TextLayout tl = new java.awt.font.TextLayout(iterator, getFontRenderContext());
tl.draw(this, x, y);
}
public override void fill(java.awt.Shape shape)
@ -892,6 +952,9 @@ namespace ikvm.awt
public override java.awt.Paint getPaint()
{
if( javaPaint == null ) {
javaPaint = new java.awt.Color(color.ToArgb());
}
return javaPaint;
}
@ -916,7 +979,7 @@ namespace ikvm.awt
{
return defaultStroke;
}
return stroke;
return stroke;
}
public override java.awt.font.FontRenderContext getFontRenderContext()
@ -924,9 +987,10 @@ namespace ikvm.awt
return new java.awt.font.FontRenderContext(getTransform(), false, false);
}
public override void drawGlyphVector(java.awt.font.GlyphVector g, float x, float y)
public override void drawGlyphVector(java.awt.font.GlyphVector gv, float x, float y)
{
throw new NotImplementedException();
char[] text = ((NetGlyphVector)gv).getText();
drawString(new string(text), x, y);
}
}