diff --git a/term/src/main/java/jackpal/androidterm/shortcuts/TextIcon.java b/term/src/main/java/jackpal/androidterm/shortcuts/TextIcon.java index 69aa26716..f6cb2fe01 100644 --- a/term/src/main/java/jackpal/androidterm/shortcuts/TextIcon.java +++ b/term/src/main/java/jackpal/androidterm/shortcuts/TextIcon.java @@ -1,5 +1,4 @@ -//From the desk of Frank P. Westlake; public domain. -package jackpal.androidterm.shortcuts; +package app.fpw.log; import android.graphics. Bitmap; import android.graphics. Bitmap.Config; @@ -15,26 +14,55 @@ public class TextIcon //////////////////////////////////////////////////////////// public static Bitmap getTextIcon(String text, int color, int width, int height) { - text=text.trim(); - Rect R=new Rect(); - Paint p=new Paint(Paint.ANTI_ALIAS_FLAG); - p.setShadowLayer(2, 10, 10, 0xFF000000); - p.setColor(color); - p.setSubpixelText(true); - p.setTextSize(256); - p.setTextAlign(Align.CENTER); - p.getTextBounds(text, 0, text.length(), R); + text= text. trim(); + String lines[]= text.split("\\s*\n\\s*"); + int nLines= lines.length; + Rect R= new Rect(); + Paint p= new Paint(Paint.ANTI_ALIAS_FLAG); + p. setShadowLayer(2, 10, 10, 0xFF000000); + p. setColor(color); + p. setSubpixelText(true); + p. setTextSize(256); + p. setTextAlign(Align.CENTER); + float HH[]= new float[nLines]; + float H= 0f; + float W= 0f; + for(int i=0; i1) h+=0.1f*h; // Add space between lines. + HH[i]= h; + H+= h; + if(w>W) W=w; + } + float f= ((float)width)*H/((float)height); + int hBitmap= (int)H; + int wBitmap= (int)W; + if(W