Vwa.VwaControl.getDisplayMode Method
Applies to: SharePoint Server 2010
Returns a DisplayMode constant that specifies whether the Web Drawing page is being rendered by using raster or Microsoft Silverlight technology.
Vwa.DisplayMode value = VwaControl.getDisplayMode()
Return Value
Vwa.DisplayMode A constant that specifies the technology being used to render the page.
Remarks
The getDisplayMode method can return one of the following values:
Constant |
Value |
Description |
---|---|---|
Vwa.DisplayMode.raster |
0 |
Visio Services in Microsoft SharePoint Server 2010 rendered the Web Drawing page in a raster format. |
Vwa.DisplayMode.silverlight |
1 |
Visio Services has rendered the Web Drawing page by using Silverlight. |
For more information about how to add a Visio Web Access Web Part to a SharePoint Web Parts page, see Customizing Visio Web Drawings in the Visio Web Access Web Part.
Example
The following example adds a handler to the Vwa.shapeselectionchanged event that creates either an HTML or a XAML transparent overlay on the selected shape, depending on the display mode.
<script type="text/javascript">
// Hook into the AJAX Sys.Application.load event.
Sys.Application.add_load(onApplicationLoad)
// Define global variables.
var vwaControl;
var vwaPage;
var vwaShapes;
var currentlyAnnotatedShape;
// Capture a reference to the current session of the Visio Web Access Web Part.
function onApplicationLoad() {
try{
vwaControl= new Vwa.VwaControl(getVWAWebPartID());
vwaControl.addHandler("diagramcomplete", onDiagramComplete);
}
catch(err){
alert(err);
}
}
// Search the SharePoint page to get the WebPartID# for the Visio Web Access Web Part.
function getVWAWebPartID() {
var divArray = document.getElementsByTagName("div");
var webPartElementID;
for (var i = 0; i < divArray.length; i++) {
var node = divArray[i];
if (node.className == "VisioWebAccess") {
webPartElementID = node.parentNode.parentNode.id;
break;
}
}
return webPartElementID;
}
// Capture references to the global variables and register a handler for shapeselectionchanged event.
function onDiagramComplete() {
try{
vwaPage = vwaControl.getActivePage();
vwaShapes = vwaPage.getShapes();
vwaControl.addHandler("shapeselectionchanged", onShapeSelectionChanged);
}
catch(err){
alert(err);
}
}
function onShapeSelectionChanged(source, args){
try{
// Ignore the shapeselectionchanged event raised when the selection is cleared.
if (args != null && args != Sys.EventArgs.Empty){
// Get the value of the display mode for the Visio Web Access Web Part.
var displayMode = vwaControl.getDisplayMode();
// Remove any existing overlay from the diagram.
removeAnnotation();
currentlyAnnotatedShape = vwaShapes.getItemById(args);
// Test to see what the current display mode is.
if (displayMode == 1) {
// The display mode is Silverlight; add a XAML overlay.
currentlyAnnotatedShape.addOverlay(
"Overlay",
"<Rectangle Height=\"" + currentlyAnnotatedShape.getBounds().height + "\"" +
" Width=\"" + currentlyAnnotatedShape.getBounds().width + "\"" +
" Stroke=\"Black\" StrokeThickness=\"1\" Fill=\"#88FF0000\"" +
" RadiusX=\"0.0\" RadiusY=\"0.0\"\/>",
1,
1,
currentlyAnnotatedShape.getBounds().width,
currentlyAnnotatedShape.getBounds().height);
}
else {
// The display mode is raster format; add an HTML overlay.
currentlyAnnotatedShape.addOverlay(
"Overlay",
"<div id=\"HTMLDiv\" style=\"width: 100%; height:" +
"100%;background-color:#FF0000;z-order:32;" +
"filter:alpha(opacity=30);\"><\/div>",
1,
1,
currentlyAnnotatedShape.getBounds().width,
currentlyAnnotatedShape.getBounds().height);
}
// Re-center the drawing on the selected shape.
vwaPage.centerViewOnShape(currentlyAnnotatedShape.getId());
}
}
catch(err){
alert(err);
}
}
// Remove any existing overlay.
function removeAnnotation() {
if (typeof(currentlyAnnotatedShape)!="undefined") {
currentlyAnnotatedShape.removeOverlay("Overlay");
}
}
</script>