Graphical editor control
Graphical Editor should provide following features:
· Layers support. Layer is a container that may be used for hosting any other objects (excluding other layers). The only important parameters of a layer are background color and opacity. Control should support ability to have set of layers and their displaying should go in appropriate order. For example, if control contains 2 layers: green, opacity 50 with 2 white objects and second one is red with opacity 50% without of any objects, visually should be displayed brown background with half-red objects.
· Tools support. Control should provide easy-to-extend mechanism of tools support. It means that if there would be any necessity to add any tool to predefined set it would be enough to implement appropriate interface. Following tools should be implemented and published with control:
o Colors selection tool (foreground and background)
o Selection tool (rectangle, single object selection)
o Line, rectangle (rounded rectangle), ellipse
o Curve
o New, Save, Load
o Copy, Cut, Paste
o Layers control tool (create/delete, change order/move to front)
o Text tools (including font specification)
Also control should provide an ability to specify set of tools that should be available in certain application or in certain moment.
· Drawing objects. Drawing objects should be described by following attributes:
o Foreground/background colors (background is ignored for simple objects like line or curve)
o Special points. If one object is selected, special points should be displayed and active. Using these points, user should have an ability to move/rotate/scale objects. If set of objects are selected, only move operation should be accessible.
· Clipboard support. Control should provide ability to use system clipboard to store copied objects or internal implementation of clipboard. Usage of internal clipboard should not require any special permissions and should be fully functional in partial trust.
· Themes support. Control by itself and all tools should support themes. Following themes should be provided with control: Office 2003 (toolbar based), Office 2007 (ribbon based).
· Save and Load features. Save and Load features should work basing on event mechanism. Following events should be generated during this operation:
Save and Load features. Save and Load features should work basing on event mechanism. Following events should be generated during this operation:
o Saving/Loading – when appropriate tool or method was activated. Parameters of this event should allow cancel further activities. Normally handlers of these events would show Open/Save dialog.
o Save/Load – when all information is gathered. As parameters these events should pass information from previous step and information about image in internal format (classes). Load event should return image, Save event should receive it.
· Filters. Filter should provide ability to generate an image in appropriate format basing on internal image structure and vice versa. Following filters should be published with control:
o Raster format – allows import/export basing on supported by FCL formats: BMP, PNG, etc.
o SVG-format – allows import/export basing on SVG format.
Demo applications. Except control following demo applications should be provided:
· Windows application (WPF-based). This application uses all accessible features, system clipboard and provides ability to save/load files from disk.
· XBAP application. This application uses all accessible features, internal clipboard and allows work with images on server (via simple web service).
这个项目用sliverlight处理起来麻烦吗?谁能帮忙看看,刚接触sliverlight