| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- /**
- * $Id: mxCiscoSafe.js,v 1.0 2020/14/05 13:05:39 mate Exp $
- * Copyright (c) 2006-2020, JGraph Ltd
- */
- //**********************************************************************************************************************************************************
- //Composite Icon
- //**********************************************************************************************************************************************************
- /**
- * Extends mxShape.
- */
- function mxShapeCiscoSafeCompositeIcon(bounds, fill, stroke, strokewidth)
- {
- mxShape.call(this);
- this.bounds = bounds;
- this.fill = fill;
- this.stroke = stroke;
- this.strokewidth = (strokewidth != null) ? strokewidth : 1;
- };
- /**
- * Extends mxShape.
- */
- mxUtils.extend(mxShapeCiscoSafeCompositeIcon, mxShape);
- mxShapeCiscoSafeCompositeIcon.prototype.cst = {
- SHAPE_COMPOSITE_ICON : 'mxgraph.cisco_safe.compositeIcon'
- };
- /**
- * Function: paintVertexShape
- *
- * Paints the vertex shape.
- */
- mxShapeCiscoSafeCompositeIcon.prototype.paintVertexShape = function(c, x, y, w, h)
- {
- var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', 'none');
- var bgColor = mxUtils.getValue(this.state.style, 'bgColor', '#C2E0AE');
- var fillColor = mxUtils.getValue(this.state.style, 'fillColor', 'none');
- var shadow = mxUtils.getValue(this.state.style, 'shadow', false);
- var opacity = parseFloat(mxUtils.getValue(this.state.style, 'opacity', false));
-
- c.translate(x, y);
-
- var bgIcon = mxUtils.getValue(this.state.style, 'bgIcon', '');
- var prIcon = mxUtils.getValue(this.state.style, 'resIcon', '');
- stencil = mxStencilRegistry.getStencil(prIcon);
- if (stencil != null && bgIcon != 'mxgraph.cisco_safe.architecture.generic_appliance')
- {
- stencil.drawShape(c, this, 0, 0, w, h);
- }
-
- c.setFillColor(strokeColor);
- c.setStrokeColor('none');
- c.setShadow(false);
-
-
- if (bgIcon == 'ellipse')
- {
- c.begin();
-
- (w < 100) ? c.ellipse(w * 0.01, h * 0.01, w * 0.98, h * 0.98) : c.ellipse(1, 1, w - 2, h - 2);
-
- c.fill();
- }
- else if (bgIcon == 'threat1')
- {
- c.begin();
- c.ellipse(w * 0.18, h * 0.16, w * 0.66, h * 0.65);
- c.fill();
- }
- else if (bgIcon == 'threat2')
- {
- c.begin();
- c.ellipse(w * 0.01, h * 0.01, w * 0.98, h * 0.6);
- c.fill();
- }
- else if (bgIcon == 'threat3')
- {
- c.begin();
- c.ellipse(w * 0.18, h * 0.2, w * 0.64, h * 0.79);
- c.fill();
- }
- else if (bgIcon == 'threat4')
- {
- c.begin();
- c.ellipse(w * 0.09, h * 0.03, w * 0.82, h * 0.77);
- c.fill();
- }
- else if (bgIcon == 'threat5')
- {
- c.begin();
- c.ellipse(w * 0.16, h * 0.01, w * 0.67, h * 0.72);
- c.fill();
- }
- else if (bgIcon == 'mxgraph.cisco_safe.architecture.generic_appliance')
- {
- c.setShadow(shadow);
- c.setFillColor(bgColor);
-
- c.begin();
- c.moveTo(0, h * 0.3);
- c.arcTo(w * 0.3, h * 0.3, 0, 0, 1, w * 0.3, 0);
- c.lineTo(w * 0.7, 0);
- c.arcTo(w * 0.3, h * 0.3, 0, 0, 1, w, h * 0.3);
- c.lineTo(w, h * 0.7);
- c.arcTo(w * 0.3, h * 0.3, 0, 0, 1, w * 0.7, h);
- c.lineTo(w * 0.3, h);
- c.arcTo(w * 0.3, h * 0.3, 0, 0, 1, 0, h * 0.7);
- c.close();
- c.fill();
-
- c.setShadow(false);
- c.setFillColor(strokeColor);
- var stencil = mxStencilRegistry.getStencil(bgIcon);
-
- if (stencil != null)
- {
- stencil.drawShape(c, this, w * 0.26, h * 0.26, w * 0.48, h * 0.48)
- }
-
- c.setAlpha(0.5);
- c.setFillColor('#ffffff');
-
- c.ellipse(w * 0.105, h * 0.48, w * 0.04, h * 0.04);
- c.fill();
- c.ellipse(w * 0.855, h * 0.48, w * 0.04, h * 0.04);
- c.fill();
- c.ellipse(w * 0.48, h * 0.105, w * 0.04, h * 0.04);
- c.fill();
- c.ellipse(w * 0.48, h * 0.855, w * 0.04, h * 0.04);
- c.fill();
-
- c.ellipse(w * 0.17, h * 0.17, w * 0.04, h * 0.04);
- c.fill();
- c.ellipse(w * 0.79, h * 0.17, w * 0.04, h * 0.04);
- c.fill();
- c.ellipse(w * 0.79, h * 0.79, w * 0.04, h * 0.04);
- c.fill();
- c.ellipse(w * 0.17, h * 0.79, w * 0.04, h * 0.04);
- c.fill();
-
- c.setAlpha(opacity / 100);
- }
- else
- {
- var stencil = mxStencilRegistry.getStencil(bgIcon);
-
- if (stencil != null)
- {
- (w < 100) ? stencil.drawShape(c, this, w * 0.01, h * 0.01, w * 0.98, h * 0.98) : stencil.drawShape(c, this, 1, 1, w - 2, h - 2);
- }
- }
- stencil = mxStencilRegistry.getStencil(prIcon);
- if (stencil != null )
- {
- c.setFillColor(fillColor);
-
- if (bgIcon == 'mxgraph.cisco_safe.architecture.generic_appliance')
- {
- stencil.drawShape(c, this, w * 0.25, h * 0.25, w * 0.5, h * 0.5)
- }
- else
- {
- stencil.drawShape(c, this, 0, 0, w, h);
- }
- }
- };
- mxCellRenderer.registerShape(mxShapeCiscoSafeCompositeIcon.prototype.cst.SHAPE_COMPOSITE_ICON, mxShapeCiscoSafeCompositeIcon);
|