home *** CD-ROM | disk | FTP | other *** search
- package netscape.application;
-
- import netscape.util.ClassInfo;
- import netscape.util.CodingException;
- import netscape.util.Decoder;
- import netscape.util.Encoder;
-
- public class InternalWindowBorder extends Border {
- static Image indentLeftImage;
- static Image indentRightImage;
- static Image leftResizeImage;
- static Image rightResizeImage;
- InternalWindow window;
- static final int TITLE_BAR_INDENT_OFFSET = 1;
- static final String WINDOW_KEY = "window";
-
- public InternalWindowBorder() {
- this((InternalWindow)null);
- }
-
- public InternalWindowBorder(InternalWindow var1) {
- this.window = var1;
- indentLeftImage = Bitmap.bitmapNamed("netscape/application/TitleBarLeft.gif");
- indentRightImage = Bitmap.bitmapNamed("netscape/application/TitleBarRight.gif");
- leftResizeImage = Bitmap.bitmapNamed("netscape/application/ResizeLeft.gif");
- rightResizeImage = Bitmap.bitmapNamed("netscape/application/ResizeRight.gif");
- }
-
- public void setWindow(InternalWindow var1) {
- this.window = var1;
- }
-
- public InternalWindow window() {
- return this.window;
- }
-
- public int leftMargin() {
- return 3;
- }
-
- public int rightMargin() {
- return 2;
- }
-
- public int topMargin() {
- return 22;
- }
-
- public int bottomMargin() {
- return this.window.isResizable() ? 11 : 2;
- }
-
- public int resizePartWidth() {
- return !this.window.isResizable() ? 0 : leftResizeImage.width();
- }
-
- public void drawTitleBar(Graphics var1, int var2, int var3, int var4, int var5) {
- int var10 = this.topMargin();
- Rect var7 = Rect.newRect(var2, var3, var4, var10);
- if (!var1.clipRect().intersects(var7)) {
- Rect.returnRect(var7);
- } else {
- Rect.returnRect(var7);
- int var8 = var4 - 1;
- int var9 = var10 - 1;
- var1.setColor(Color.lightGray);
- var1.fillRect(var2 + 1, var3 + 1, var8 - 1, var9 - 1);
- var1.setColor(Color.gray153);
- var1.drawPoint(var2, var3);
- var1.drawLine(var2 + 1, var3, var8, var3);
- var1.drawPoint(var2 + 1, var9);
- var1.drawLine(var2, var3 + 1, var2, var9);
- var1.setColor(Color.white);
- var1.drawLine(var2 + 2, var3 + 1, var8 - 2, var3 + 1);
- var1.drawPoint(var2 + 2, var3 + 2);
- var1.drawLine(var2 + 1, var3 + 2, var2 + 1, var9 - 2);
- var1.setColor(Color.gray153);
- var1.drawLine(var2 + 2, var9 - 1, var8 - 2, var9 - 1);
- var1.drawPoint(var8 - 2, var9 - 2);
- var1.drawLine(var8 - 1, var3 + 2, var8 - 1, var9 - 2);
- var1.setColor(Color.gray102);
- var1.drawLine(var2 + 2, var9, var8, var9);
- var1.drawLine(var8, var3 + 1, var8, var9);
- var1.drawPoint(var8 - 1, var9 - 1);
- int var11 = 25 + indentLeftImage.width();
- int var12 = var4 - 25 - indentRightImage.width() - var11;
- boolean var13 = this.window.isMain();
- if (var13) {
- indentLeftImage.drawAt(var1, 25, 1);
- indentRightImage.drawAt(var1, var4 - indentRightImage.width() - 24, 1);
- Rect var6 = Rect.newRect(var11, 3, var12, indentLeftImage.height() - 4);
- var1.setColor(Color.gray153);
- var1.drawLine(var6.x, var6.y + 1, var6.maxX(), var6.y + 1);
- var1.setColor(Color.white);
- var1.drawLine(var6.x + 1, var6.maxY() - 2, var6.maxX(), var6.maxY() - 2);
- Rect.returnRect(var6);
- }
-
- Rect var14 = Rect.newRect(var11, 0, var12, indentLeftImage.height() - 2);
- var1.pushState();
- var1.setClipRect(var14);
- var1.setColor(Color.darkGray);
- var1.setFont(this.window.font());
- var1.drawStringInRect(this.window.title(), var14, 1);
- var1.popState();
- Rect.returnRect(var14);
- }
- }
-
- public void drawLeftBorder(Graphics var1, int var2, int var3, int var4, int var5) {
- Rect var6 = Rect.newRect(0, 0, this.leftMargin(), var5);
- if (!var1.clipRect().intersects(var6)) {
- Rect.returnRect(var6);
- } else {
- Rect.returnRect(var6);
- int var7 = this.topMargin();
- var1.setColor(Color.gray153);
- var1.drawLine(0, var7, 0, var5 - 1);
- var1.setColor(Color.white);
- var1.drawLine(1, var7, 1, var5 - 2);
- var1.setColor(Color.lightGray);
- var1.drawLine(2, var7, 2, var5 - 3);
- MenuView var8 = this.window.menuView();
- if (var8 != null) {
- var1.setColor(Color.gray102);
- var1.drawLine(1, var7 + ((View)var8).height() - 1, 2, var7 + ((View)var8).height() - 1);
- }
-
- }
- }
-
- public void drawRightBorder(Graphics var1, int var2, int var3, int var4, int var5) {
- Rect var6 = Rect.newRect(var4 - this.rightMargin(), 0, this.rightMargin(), var5);
- if (!var1.clipRect().intersects(var6)) {
- Rect.returnRect(var6);
- } else {
- Rect.returnRect(var6);
- int var7 = this.topMargin();
- int var8 = var5 - this.bottomMargin();
- var1.setColor(Color.gray102);
- var1.drawLine(var4 - 1, var7, var4 - 1, var8);
- var1.setColor(Color.gray153);
- var1.drawLine(var4 - 2, var7, var4 - 2, var8 - 1);
- MenuView var9 = this.window.menuView();
- if (var9 != null) {
- var1.setColor(Color.gray102);
- var1.drawPoint(var2 + var4 - 2, var7 + ((View)var9).height() - 1);
- }
-
- }
- }
-
- public void drawBottomBorder(Graphics var1, int var2, int var3, int var4, int var5) {
- Rect var6 = Rect.newRect(0, var5 - this.bottomMargin(), var4, this.bottomMargin());
- if (!var1.clipRect().intersects(var6)) {
- Rect.returnRect(var6);
- } else {
- Rect.returnRect(var6);
- int var7 = this.bottomMargin();
- int var8 = var5 - var7;
- var1.setColor(Color.gray102);
- var1.drawLine(1, var5 - 1, var4 - 1, var5 - 1);
- var1.setColor(Color.gray153);
- var1.drawLine(2, var5 - 2, var4 - 2, var5 - 2);
- var1.setColor(Color.lightGray);
- var1.fillRect(2, var8, var4 - 3, var7 - 2);
- var1.setColor(Color.gray102);
- var1.drawLine(var4 - 1, var8, var4 - 1, var5 - 1);
- var1.setColor(Color.gray153);
- var1.drawLine(var4 - 2, var8, var4 - 2, var5 - 2);
- if (this.window.isResizable() && leftResizeImage != null && rightResizeImage != null) {
- leftResizeImage.drawAt(var1, 0, var5 - leftResizeImage.height());
- rightResizeImage.drawAt(var1, var4 - rightResizeImage.width(), var5 - rightResizeImage.height());
- }
-
- }
- }
-
- public void drawInRect(Graphics var1, int var2, int var3, int var4, int var5) {
- this.drawTitleBar(var1, var2, var3, var4, var5);
- this.drawLeftBorder(var1, var2, var3, var4, var5);
- this.drawRightBorder(var1, var2, var3, var4, var5);
- this.drawBottomBorder(var1, var2, var3, var4, var5);
- }
-
- public void describeClassInfo(ClassInfo var1) {
- super.describeClassInfo(var1);
- var1.addClass("netscape.application.InternalWindowBorder", 1);
- var1.addField("window", (byte)18);
- }
-
- public void encode(Encoder var1) throws CodingException {
- super.encode(var1);
- var1.encodeObject("window", this.window);
- }
-
- public void decode(Decoder var1) throws CodingException {
- super.decode(var1);
- this.window = (InternalWindow)var1.decodeObject("window");
- }
- }
-