an api taking for input a rectangle (dimension x,y), a name (and an unique id), some access point located at Xa,Ya (on the rectangle), a dialog containing a graphical view (u have to define it),
and then displaying the small rectangle in the dialog, relatively to the other ones, linking the 2 rectangle with a small line (size id fix), and displaying the name inside, and the dimension, if possible being able to zoom,
as well, using the same code, it would be cool if we could with a mouse draw resizable rectangle and link them with the other ones, and be able to double click on the rectangle and get the dimension, name, and id.
i want this stuff coded and compiled using in Visual studio C++ 7.0.
i just want source files (by email) here is a more detail spec:
2 things to implement:
convention: "area": a rectangle of dimension (x,y,z), a name, an ID, a list of "access point", a "group". (10 access points max. n, nw, ne, w, e sw, s, se, up, down), type, subType, SubSubType,
grahically it is a rectangle with some code color (see detail).
"access point": a point linking 2 areas (areaId1 - areaId2), the orientation from each area, a access "type".
graphically it is a segment, in fact 2 segments: half of it is in the orientation from area1, the other half has the orientation from area2. so it joins the 2 areas. size is fix.
1) an modless dialog/ API taking for INPUT - an object "area", - a modeless dialog (you will have to design in such a way it can displays a hugh number of "area", zoom in/out, focus the viewPort on a area (by name/id), scroll the map)
OUTPUT: display the "area" in the modeless dialog (with all the other ones), with its name, and display the access points with their type. maybe some color code for the each access type, and colors for area Type, subType, SubSubType. As well a special color for the area the player is in. and must serialize the map to be able to rebuild it after the application is closed/opened.
in fact each area is part of a "group" of area, so the overwhole map is a set of subMap, one for each group. i would like the client to be able to choose which "group" he wants to display the map. when there are several level (access point up/down), there is a submap for each level (no need of 3d). on the map, if there is an area with an up/down access the code should allow the player to double click on the access point and then display the new level.
2) using this API, build a small modeless dialog box, identical to the one in 1), but this time this graphical map view must be editable :
1- the customer must be able to draw and add "area" (just the dimension part). the code must prevent the customer to draw an area which overlaps the other (it has to fit with the others).
2- the customer must be able to link them with other "areas" in the view.
3- the customer must be able to double click on a area JUST CREATED (with no name/no id) and this must trigger a callback fct with a pointer to an object "area" as a parameter. this object area will be partially filled with the dimension (x,y) of the area, its group as well, but not the other fields. (no needed to implement the callback). In return from the callback the view must be updated with the name, id, type, subType and subSubuType of the area just created. (be careful the callback will open a modal dialog box)
4- the customer must be able to double click on an "access point" JUST CREATED (with no type), BUT ONLY if the 2 areas it links have been fully created (name id etc), and then same as for the "area", there is a call back fct with a holder to an Access Point object, partially created meaning the 2 linked areasid+the orientation from areaId1 and from areaId2 are presents but the fields "type" is not. after the call back the link is updated with the type.