ElegantJCharts Java API Specification v2.0

com.elegantj.graphx.surface
Class AreaGraphTypeObject

java.lang.Object
  |
  +--com.elegantj.graphx.GraphTypeObject
        |
        +--com.elegantj.graphx.surface.AreaGraphTypeObject
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
AreaDepthGraph, AreaStackGraph

public class AreaGraphTypeObject
extends GraphTypeObject
implements java.io.Serializable

AreaGraphTypeObject is used to render Area Stacked Graph

See Also:
Serialized Form

Field Summary
protected  java.awt.Rectangle dataPointRect
          Store the boundary of DataPoint
protected static int EXPLAN_HOFFSET
          Specifies the constant for explanation notes horizontal offset
protected static int H_SPACE
          Specifies the Horizontal offset
protected  int m_3DHOffset
          Specifies the Horizontal Deviation for Display 3D effect
protected  int m_3DVOffset
          Specifies the Vertical Deviation for Display 3D effect
protected  AreaGraph m_AreaGraph
          Specifies AreaGraph Object
protected  AreaGraphExplanNotes m_AreaGraphExplanNotes
          Specifies the graph explanation notes
protected  StoreAreaPolygon m_AreaPolygon
          contain area polygon
protected  int m_AreaWidth
          Specifies the Area width
protected  java.util.Vector m_AsDataMatrix
          contain graph data for area stack graph
protected  int m_ExplanAreaAlign
          Specifies the Explanation area Alignment(LEFT/CENTER/RIGHT OR TOP/CENTER/BOTTOM)
protected  int m_ExplanAreaHeight
          Specifies the explanation area height
protected  int m_ExplanAreaPosition
          Specifies the explanation area position(LEFT/RIGHT/TOP/BOTTOM/CENTER)
protected  int m_ExplanAreaWidth
          Specifies the explanation area width
protected static boolean m_fDebug
          Specifies the execution mode
protected  int m_FontHeight
          Specifies the font height
protected  GraphAreaDetail m_GraphAreaDetail
          Specifies the Area Properties of Graph
protected  int m_GraphAreaWidth
          Specifies the graph width
protected  GraphLabel m_GraphLabel
          Specifies the graph label
protected  java.awt.Polygon m_GraphRectangle
          Specifies Actual Graph Area Rectangle
protected  GraphTitleDetail m_GraphTitleDetail
          Specifies the Title Detail for Graph
protected  GraphXAxisDetail m_GraphXAxisDetail
          Specifies the X-Axis Detail for Graph
protected  java.awt.Rectangle m_GraphXAxisRectangle
          Specifies Actual X-Axis label Area Rectangle
protected  GraphYAxisDetail m_GraphYAxisDetail
          Specifies the Y-Axis Detail for Graph
protected  java.awt.Rectangle m_GraphYAxisRectangle
          Specifies Actual Y-Axis Label Area Rectangle
protected  GraphZAxisDetail m_GraphZAxisDetail
          Specifies the Z-Axis (Legends) Detail for Graph
protected  java.awt.Rectangle m_GraphZAxisRectangle
          Specifies Actual Z-Axis Label Area Rectangle
protected  int m_Height
          Specifies the total height
protected  int m_HOffset
          Specifies the horizontal offset
protected  boolean m_Is3DGraph
          Specifies 3D effect is Enable or Disable
protected  boolean m_IsPointSet
          Specifies the Mouse Over effect is drawn then this flag is false
protected  int m_MinusYClipLabels
          Specifies the total number of y-axis minimum labels
protected  int m_MinusYClipLength
          Specifies the y-axis minimum extra length
protected  java.awt.Rectangle m_MouseOverTextRect
          Specifies Mouse Over text Area Rectangle
protected  int m_NegValRep
          Specifies the representation type for yaxis label -ve value
protected  DrillDownDetail m_OldMODetail
          Specifies old Mouse Over Object (DrillDownDetail)
protected  int m_PlusYClipLabels
          Specifies the total number of y-axis maximum labels
protected  int m_PlusYClipLength
          Specifies the y-axis maximum extra length
protected  java.awt.Polygon[] m_PolXLabelList
          contain bound polygon of X axis labels
protected  java.awt.Polygon[] m_PolYLabelList
          contain bound polygon of Y axis labels
protected  TextAlign m_TextAlign
          Specifies the text alignment
protected  double m_ThiTa
          Specifies the angle of 3D effect
protected  java.awt.Font m_TitleFont
          Specifies Title Font
protected  int m_TitleFontHeight
          Specifies Graph Title Font Height
protected  int m_TitleHeight
          Specifies Graph Title Height
protected  java.awt.Rectangle m_TitleRectangle
          Specifies Title Rectangle
protected  int m_VOffset
          Specifies the vertical offset
protected  int m_Width
          Specifies the total width
protected  int m_XAxisHeight
          Specifies X-Axis Label Height
protected  java.awt.Font m_XAxisLabelFont
          Specifies X-Axis Font
protected  int m_XAxisWidth
          Specifies X-Axis Label Width
protected  int m_XGradLength
          Specifies the x-axis gradient length
protected  int m_XLabels
          Specifies the total number of x-axis labels
protected  int m_XLabelVSteps
          Specifies the total number of x-axis labels vertical steps
protected  int m_XLength
          Specifies the x-axis length
protected  double m_YAbsGradLabel
          Specifies the y-axis gradient absolute label size
protected  int m_YAxisHeight
          Specifies Y-Axis Label Height
protected  java.awt.Font m_YAxisLabelFont
          Specifies Y-Axis Font
protected  int m_YAxisWidth
          Specifies Y-Axis Label Width
protected  int m_YClipLabels
          Specifies the total number of y-axis labels
protected  int m_YClipLength
          Specifies the y-axis length
protected  int m_YGradLength
          Specifies the y-axis gradient length
protected  int m_YLabelVSteps
          Specifies the number of Y-axis labels skip steps
protected  double m_YMaxLabelValue
          Specifies the y-axis maximum value
protected  int m_YMaxLabelWidth
          Specifies Y-Axis Label Maximum Width
protected  double m_YMinLabelValue
          Specifies the y-axis minimum value
protected  int m_ZGradLength
          Specifies the z-axis gradient length
protected  int m_ZLabels
          Specifies the total number of z-axis labels
protected  int m_ZLength
          Specifies the z-axis length
protected  int m_zX
          Specifies the z-axis length in X
protected  int m_zY
          Specifies the z-axis length in Y
 
Fields inherited from class com.elegantj.graphx.GraphTypeObject
m_GraphicsEx
 
Constructor Summary
AreaGraphTypeObject(AreaGraph inGraphMain)
          Creates the GraphAreaGraphTypeObject with specified AreaGraph object
 
Method Summary
 void draw3DGraph()
          Draws the 3D Graph
 java.awt.Rectangle drawDataPointCircle(GraphicsEx inGraphicsEx, int x, int y, java.awt.Color theColor)
          draw the daya point when mouse over effect is enabled
protected  void drawExplanNotes()
          Draws the explanation notes
 void drawGraph()
          Draws the Graph
protected  void drawGraphAreaBackground(GraphicsEx inGraphicsEx)
          Draws Backgound of Actual graph Area
 boolean drawMouseOverEffect(GraphicsEx inGraphicsEx, DrillDownDetail inDDD, boolean isMOEDraw, boolean isMOTDraw, boolean isRestore)
          This method returns true If any shape is drawn on given graphics Object otherwize false
 java.awt.Rectangle drawMouseOverText(GraphicsEx inGraphicsEx, DrillDownDetail inDDD, int inH, int inV)
          This method draws mouse over Text
protected  void drawPolygon(GraphicsEx inGraphicsEx, java.awt.Polygon inPolygon, int inBrStyle, int inBrWidth, java.awt.Color inBrColor, boolean isHorizontal)
          This method draw border to polygon
 java.awt.Rectangle drawStaticMouseOverText(GraphicsEx inGraphicsEx)
          This method draws Static mouse over Text
protected  void drawTitle()
          Draws the title
protected  void drawXAxisGridAndTick()
          Draws The X-Axis Grid and Tick lines
protected  void drawXAxisLabels()
          Draws The X-Axis Labels
protected  void drawXAxisLine()
          Draws The X-Axis Line
protected  void drawYAxisGridAndTick()
          Draws The Y-Axis Grid and Tick lines
protected  void drawYAxisLabels()
          Draws The Y-Axis Labels
protected  void drawYAxisLine()
          Draws The Y-Axis
 DrillDownDetail getClickedXAxisLabel(int click_x, int click_y)
          If Given Point on X axis Label then it will Return Drilldowndetail Object Otherwise Return null
 DrillDownDetail getClickedYAxisLabel(int click_x, int click_y)
          If Given Point on Y axis Label then it will Return Drilldowndetail Object Otherwise Return null
 DrillDownDetail getDrillDetail(int click_x, int click_y)
          If Given Point on Graph then it will Return Drilldowndetail Object Otherwise Return null (Common function for 2D and 3D Graph)
protected  DrillDownDetail getDrillDownDetail(GraphicsEx inGraphicsEx, int click_x, int click_y)
          If Given Point on Graph then it will Return Drilldowndetail Object and draw mouse over effect and mouse over text Otherwise Return null
protected  DrillDownDetail getDrillDownDetail(int click_x, int click_y)
          If Given Point on Graph then it will Return Drilldowndetail Object Otherwise Return null
 java.awt.Polygon getGraphAreaPolygon()
           
 java.lang.String getNegValRepString(int repType, java.lang.String inString)
          This method gets negetive value rep.
protected  java.awt.Polygon getPolygon(int xStart, int yStart, int Width, int Height, int hOffset, int vOffset)
          Return polygon(surface) for 3D effect
protected static int getTickHeight(AxisDetail inAxisDetail)
           
protected  void init(GraphPanel inGraphPanel)
          Initialization of Graph
protected  void initFields()
           
 void initTitle()
          Calculation for Title Of Graph
 void reDrawing(GraphicsEx inGraphicsEx)
          Redraw Graph According to Graphics's clipping rectangle th
 DrillDownDetail setMouseOverPoint(GraphicsEx inGraphicsEx, int click_x, int click_y)
          If Given Point on Graph then it will Return Drilldowndetail Object and draw mouse over effect and mouse over text Otherwise Return null
 
Methods inherited from class com.elegantj.graphx.GraphTypeObject
initDrawing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_fDebug

protected static final boolean m_fDebug
Specifies the execution mode

See Also:
Constant Field Values

m_IsPointSet

protected boolean m_IsPointSet
Specifies the Mouse Over effect is drawn then this flag is false


EXPLAN_HOFFSET

protected static final int EXPLAN_HOFFSET
Specifies the constant for explanation notes horizontal offset

See Also:
Constant Field Values

H_SPACE

protected static final int H_SPACE
Specifies the Horizontal offset

See Also:
Constant Field Values

m_Width

protected int m_Width
Specifies the total width


m_Height

protected int m_Height
Specifies the total height


m_GraphAreaWidth

protected int m_GraphAreaWidth
Specifies the graph width


m_ExplanAreaWidth

protected int m_ExplanAreaWidth
Specifies the explanation area width


m_HOffset

protected int m_HOffset
Specifies the horizontal offset


m_VOffset

protected int m_VOffset
Specifies the vertical offset


m_XLength

protected int m_XLength
Specifies the x-axis length


m_XLabels

protected int m_XLabels
Specifies the total number of x-axis labels


m_XGradLength

protected int m_XGradLength
Specifies the x-axis gradient length


m_XLabelVSteps

protected int m_XLabelVSteps
Specifies the total number of x-axis labels vertical steps


m_YClipLength

protected int m_YClipLength
Specifies the y-axis length


m_PlusYClipLength

protected int m_PlusYClipLength
Specifies the y-axis maximum extra length


m_MinusYClipLength

protected int m_MinusYClipLength
Specifies the y-axis minimum extra length


m_YClipLabels

protected int m_YClipLabels
Specifies the total number of y-axis labels


m_PlusYClipLabels

protected int m_PlusYClipLabels
Specifies the total number of y-axis maximum labels


m_MinusYClipLabels

protected int m_MinusYClipLabels
Specifies the total number of y-axis minimum labels


m_YGradLength

protected int m_YGradLength
Specifies the y-axis gradient length


m_YAbsGradLabel

protected double m_YAbsGradLabel
Specifies the y-axis gradient absolute label size


m_YMaxLabelValue

protected double m_YMaxLabelValue
Specifies the y-axis maximum value


m_YMinLabelValue

protected double m_YMinLabelValue
Specifies the y-axis minimum value


m_ZLabels

protected int m_ZLabels
Specifies the total number of z-axis labels


m_ZGradLength

protected int m_ZGradLength
Specifies the z-axis gradient length


m_ZLength

protected int m_ZLength
Specifies the z-axis length


m_zX

protected int m_zX
Specifies the z-axis length in X


m_zY

protected int m_zY
Specifies the z-axis length in Y


m_FontHeight

protected int m_FontHeight
Specifies the font height


m_AreaWidth

protected int m_AreaWidth
Specifies the Area width


m_GraphLabel

protected GraphLabel m_GraphLabel
Specifies the graph label


m_AreaGraphExplanNotes

protected AreaGraphExplanNotes m_AreaGraphExplanNotes
Specifies the graph explanation notes


m_TextAlign

protected TextAlign m_TextAlign
Specifies the text alignment


m_GraphTitleDetail

protected GraphTitleDetail m_GraphTitleDetail
Specifies the Title Detail for Graph


m_GraphXAxisDetail

protected GraphXAxisDetail m_GraphXAxisDetail
Specifies the X-Axis Detail for Graph


m_GraphYAxisDetail

protected GraphYAxisDetail m_GraphYAxisDetail
Specifies the Y-Axis Detail for Graph


m_GraphZAxisDetail

protected GraphZAxisDetail m_GraphZAxisDetail
Specifies the Z-Axis (Legends) Detail for Graph


m_GraphAreaDetail

protected GraphAreaDetail m_GraphAreaDetail
Specifies the Area Properties of Graph


m_TitleFont

protected java.awt.Font m_TitleFont
Specifies Title Font


m_TitleFontHeight

protected int m_TitleFontHeight
Specifies Graph Title Font Height


m_XAxisLabelFont

protected java.awt.Font m_XAxisLabelFont
Specifies X-Axis Font


m_YAxisLabelFont

protected java.awt.Font m_YAxisLabelFont
Specifies Y-Axis Font


m_TitleHeight

protected int m_TitleHeight
Specifies Graph Title Height


m_XAxisHeight

protected int m_XAxisHeight
Specifies X-Axis Label Height


m_XAxisWidth

protected int m_XAxisWidth
Specifies X-Axis Label Width


m_YAxisHeight

protected int m_YAxisHeight
Specifies Y-Axis Label Height


m_YAxisWidth

protected int m_YAxisWidth
Specifies Y-Axis Label Width


m_YMaxLabelWidth

protected int m_YMaxLabelWidth
Specifies Y-Axis Label Maximum Width


m_Is3DGraph

protected boolean m_Is3DGraph
Specifies 3D effect is Enable or Disable


m_3DHOffset

protected int m_3DHOffset
Specifies the Horizontal Deviation for Display 3D effect


m_3DVOffset

protected int m_3DVOffset
Specifies the Vertical Deviation for Display 3D effect


m_ThiTa

protected double m_ThiTa
Specifies the angle of 3D effect


m_AreaGraph

protected AreaGraph m_AreaGraph
Specifies AreaGraph Object


m_ExplanAreaPosition

protected int m_ExplanAreaPosition
Specifies the explanation area position(LEFT/RIGHT/TOP/BOTTOM/CENTER)


m_ExplanAreaAlign

protected int m_ExplanAreaAlign
Specifies the Explanation area Alignment(LEFT/CENTER/RIGHT OR TOP/CENTER/BOTTOM)


m_ExplanAreaHeight

protected int m_ExplanAreaHeight
Specifies the explanation area height


m_GraphRectangle

protected java.awt.Polygon m_GraphRectangle
Specifies Actual Graph Area Rectangle


m_GraphXAxisRectangle

protected java.awt.Rectangle m_GraphXAxisRectangle
Specifies Actual X-Axis label Area Rectangle


m_GraphYAxisRectangle

protected java.awt.Rectangle m_GraphYAxisRectangle
Specifies Actual Y-Axis Label Area Rectangle


m_GraphZAxisRectangle

protected java.awt.Rectangle m_GraphZAxisRectangle
Specifies Actual Z-Axis Label Area Rectangle


m_TitleRectangle

protected java.awt.Rectangle m_TitleRectangle
Specifies Title Rectangle


m_MouseOverTextRect

protected java.awt.Rectangle m_MouseOverTextRect
Specifies Mouse Over text Area Rectangle


dataPointRect

protected java.awt.Rectangle dataPointRect
Store the boundary of DataPoint


m_OldMODetail

protected DrillDownDetail m_OldMODetail
Specifies old Mouse Over Object (DrillDownDetail)


m_NegValRep

protected int m_NegValRep
Specifies the representation type for yaxis label -ve value


m_AreaPolygon

protected StoreAreaPolygon m_AreaPolygon
contain area polygon


m_AsDataMatrix

protected java.util.Vector m_AsDataMatrix
contain graph data for area stack graph


m_PolXLabelList

protected java.awt.Polygon[] m_PolXLabelList
contain bound polygon of X axis labels


m_PolYLabelList

protected java.awt.Polygon[] m_PolYLabelList
contain bound polygon of Y axis labels


m_YLabelVSteps

protected int m_YLabelVSteps
Specifies the number of Y-axis labels skip steps

Constructor Detail

AreaGraphTypeObject

public AreaGraphTypeObject(AreaGraph inGraphMain)
                    throws GraphException
Creates the GraphAreaGraphTypeObject with specified AreaGraph object

Method Detail

init

protected void init(GraphPanel inGraphPanel)
             throws GraphException
Initialization of Graph

Overrides:
init in class GraphTypeObject
GraphException

initFields

protected void initFields()
                   throws GraphException
GraphException

reDrawing

public void reDrawing(GraphicsEx inGraphicsEx)
               throws GraphException
Description copied from class: GraphTypeObject
Redraw Graph According to Graphics's clipping rectangle th

Overrides:
reDrawing in class GraphTypeObject
Throws:
GraphException

drawGraph

public void drawGraph()
Draws the Graph

Overrides:
drawGraph in class GraphTypeObject

draw3DGraph

public void draw3DGraph()
Draws the 3D Graph


drawGraphAreaBackground

protected void drawGraphAreaBackground(GraphicsEx inGraphicsEx)
Draws Backgound of Actual graph Area

Overrides:
drawGraphAreaBackground in class GraphTypeObject

drawXAxisLine

protected void drawXAxisLine()
Draws The X-Axis Line

Overrides:
drawXAxisLine in class GraphTypeObject

drawXAxisLabels

protected void drawXAxisLabels()
Draws The X-Axis Labels

Overrides:
drawXAxisLabels in class GraphTypeObject

drawXAxisGridAndTick

protected void drawXAxisGridAndTick()
Draws The X-Axis Grid and Tick lines

Overrides:
drawXAxisGridAndTick in class GraphTypeObject

drawYAxisLine

protected void drawYAxisLine()
Draws The Y-Axis

Overrides:
drawYAxisLine in class GraphTypeObject

drawYAxisLabels

protected void drawYAxisLabels()
Draws The Y-Axis Labels

Overrides:
drawYAxisLabels in class GraphTypeObject

drawYAxisGridAndTick

protected void drawYAxisGridAndTick()
Draws The Y-Axis Grid and Tick lines

Overrides:
drawYAxisGridAndTick in class GraphTypeObject

getNegValRepString

public java.lang.String getNegValRepString(int repType,
                                           java.lang.String inString)
This method gets negetive value rep.


initTitle

public void initTitle()
Calculation for Title Of Graph


drawTitle

protected void drawTitle()
Draws the title

Overrides:
drawTitle in class GraphTypeObject

drawExplanNotes

protected void drawExplanNotes()
Draws the explanation notes

Overrides:
drawExplanNotes in class GraphTypeObject

drawPolygon

protected void drawPolygon(GraphicsEx inGraphicsEx,
                           java.awt.Polygon inPolygon,
                           int inBrStyle,
                           int inBrWidth,
                           java.awt.Color inBrColor,
                           boolean isHorizontal)
This method draw border to polygon

Parameters:
inGraphicsEx - GraphicsEx Object
inPolygon - Polygon Object
inBrWidth - border width
inBrColor - border color
inBrStyle - border style
isHorizontal - whether width is higher then height or not

drawDataPointCircle

public java.awt.Rectangle drawDataPointCircle(GraphicsEx inGraphicsEx,
                                              int x,
                                              int y,
                                              java.awt.Color theColor)
draw the daya point when mouse over effect is enabled

Parameters:
inGraphicsEx - graphics object
x - coordinates of circle
y - coordinates or circle
Returns:
data point circle rectangle

setMouseOverPoint

public DrillDownDetail setMouseOverPoint(GraphicsEx inGraphicsEx,
                                         int click_x,
                                         int click_y)
If Given Point on Graph then it will Return Drilldowndetail Object and draw mouse over effect and mouse over text Otherwise Return null

Parameters:
inGraphicsEx - GraphicsEx Object
click_x - x point on graph
click_y - y point on graph

getDrillDetail

public DrillDownDetail getDrillDetail(int click_x,
                                      int click_y)
If Given Point on Graph then it will Return Drilldowndetail Object Otherwise Return null (Common function for 2D and 3D Graph)

Parameters:
click_x - x point on graph
click_y - y point on graph

drawMouseOverEffect

public boolean drawMouseOverEffect(GraphicsEx inGraphicsEx,
                                   DrillDownDetail inDDD,
                                   boolean isMOEDraw,
                                   boolean isMOTDraw,
                                   boolean isRestore)
This method returns true If any shape is drawn on given graphics Object otherwize false

Parameters:
inGraphicsEx - GraphicsEx Object
inDDD - DrillDownDetail Object
isMOEDraw - true - to draw mouse over effect
isMOTDraw - true - to draw mouse over Text
isRestore - true - to draw mouse over effect or mouse over text, false - to remove mouse over effect or mouse over text
Returns:
boolean true If any shape is drawn on given graphics Object otherwize false

drawMouseOverText

public java.awt.Rectangle drawMouseOverText(GraphicsEx inGraphicsEx,
                                            DrillDownDetail inDDD,
                                            int inH,
                                            int inV)
This method draws mouse over Text

Parameters:
inGraphicsEx - GraphicsEx Object
inDDD - DrillDownDetail Object
inH - x point
inV - y point
Returns:
Rectangle Rectangle area where mouse over text is drawn

drawStaticMouseOverText

public java.awt.Rectangle drawStaticMouseOverText(GraphicsEx inGraphicsEx)
This method draws Static mouse over Text

Parameters:
inGraphicsEx - GraphicsEx Object

getPolygon

protected java.awt.Polygon getPolygon(int xStart,
                                      int yStart,
                                      int Width,
                                      int Height,
                                      int hOffset,
                                      int vOffset)
Return polygon(surface) for 3D effect


getDrillDownDetail

protected DrillDownDetail getDrillDownDetail(int click_x,
                                             int click_y)
If Given Point on Graph then it will Return Drilldowndetail Object Otherwise Return null


getDrillDownDetail

protected DrillDownDetail getDrillDownDetail(GraphicsEx inGraphicsEx,
                                             int click_x,
                                             int click_y)
If Given Point on Graph then it will Return Drilldowndetail Object and draw mouse over effect and mouse over text Otherwise Return null

Parameters:
inGraphicsEx - GraphicsEx Object
click_x - x point on graph
click_y - y point on graph

getClickedXAxisLabel

public DrillDownDetail getClickedXAxisLabel(int click_x,
                                            int click_y)
If Given Point on X axis Label then it will Return Drilldowndetail Object Otherwise Return null

Parameters:
click_x - x coordinate of mouse over point
click_y - y coordinate of mouse over point
Returns:
DrillDownDetail object of DrillDownDetail

getClickedYAxisLabel

public DrillDownDetail getClickedYAxisLabel(int click_x,
                                            int click_y)
If Given Point on Y axis Label then it will Return Drilldowndetail Object Otherwise Return null

Parameters:
click_x - x coordinate of mouse over point
click_y - y coordinate of mouse over point
Returns:
DrillDownDetail object of DrillDownDetail

getTickHeight

protected static int getTickHeight(AxisDetail inAxisDetail)

getGraphAreaPolygon

public java.awt.Polygon getGraphAreaPolygon()

ElegantJCharts Java API Specification v2.0

For any feedback, suggestion, or query, please revert back to support@elegantcharts.com

Copyright(c)
Elegant Microweb Technologies Pvt. Ltd.
www.elegantmicroweb.com
www.elegantjcharts.com
All Rights Reserved.