高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】classes derived from odgsbaseviewodgsbasedevice
classes derived from odgsbaseview/odgsbasedevice
classes derived from odgsbaseview/odgsbasedevice
hi,
i am not new to odt/odv, but i am new to dd. dd is totally different from odt/odv.
i want to study dd from developing a simple dwg/dxf viewer. i found example odvectorizeex, built and run it successfully. and
i have read "creating a rendering application" in dd document. it seems that i should implement my own derived
odgsbaseview/odgsbasedevice classes to implement a viewer.
however, i have not found derived odgsbaseview/odgsbasedevice classes in example odamfcapp. that example uses magic classes
and functions, such as odgsdevice:roperties() and odrxdictionary:utat(), in cdwgviewer::createdevice(), which are not
clearly describe in dd documents. the following are some source code in cdwgviewer::createdevice():
m_pdevice = theapp.getrendererdevice();
odrxdictionaryptr pproperties = m_pdevice->properties();
pproperties->putat("windowhwnd", odrxvariantvalue((long)m_hwnd));
if(pproperties->has("doublebufferenabled")) // check if property is supported
{
pproperties->putat("doublebufferenabled", odrxvariantvalue(theapp.doublebufferenabled()));
}
oddbdatabase* pdb = (codamfcappdoc*)getdocument();
m_pdevice = oddbgsmanager::setupactivelayoutviews(m_pdevice, this);
i think dd have already implemented derived odgsbaseview/odgsbasedevice classes for windows. we can use these classes by
m_pdevice->properties()->putat("windowhwnd", odrxvariantvalue((long)m_hwnd)); is that right?
ycf888
oops!
i found derived odgsbaseview/odgsbasedevice classes in example odamfcapp, they locations in examples\exrender\win.
ycf888
|