MCPcopy Create free account
hub / github.com/ajkhoury/ReClassEx / Draw

Method Draw

ReClass/CNodePtrArray.cpp:12–78  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10}
11
12NODESIZE CNodePtrArray::Draw( const PVIEWINFO View, int x, int y )
13{
14 int tx;
15 NODESIZE DrawSize;
16 NODESIZE ChildDrawSize;
17 ULONG ClassSize;
18
19 if (m_bHidden)
20 return DrawHidden( View, x, y );
21
22 DrawSize.x = 0;
23 DrawSize.y = 0;
24
25 AddSelection( View, 0, y, g_FontHeight );
26 AddDelete( View, x, y );
27 AddTypeDrop( View, x, y );
28
29 x = AddOpenClose( View, x, y );
30 x = AddIcon( View, x, y, ICON_ARRAY, -1, -1 );
31
32 tx = x;
33 tx = AddAddressOffset( View, tx, y );
34
35 tx = AddText( View, tx, y, g_crType, HS_NONE, _T( "ArrayOfPointers " ) );
36 tx = AddText( View, tx, y, g_crName, HS_NAME, _T( "%s" ), m_strName );
37 tx = AddText( View, tx, y, g_crIndex, HS_NONE, _T( "[" ) );
38 tx = AddText( View, tx, y, g_crIndex, HS_EDIT, _T( "%u" ), m_ulPtrCount );
39 tx = AddText( View, tx, y, g_crIndex, HS_NONE, _T( "]" ) );
40
41 tx = AddIcon( View, tx, y, ICON_LEFT, HS_SELECT, HS_CLICK );
42 tx = AddText( View, tx, y, g_crIndex, HS_NONE, _T( "(" ) );
43 tx = AddText( View, tx, y, g_crIndex, 1, _T( "%i" ), m_iCurrentIndex );
44 tx = AddText( View, tx, y, g_crIndex, HS_NONE, _T( ")" ) );
45 tx = AddIcon( View, tx, y, ICON_RIGHT, HS_DROP, HS_CLICK );
46
47 tx = AddText( View, tx, y, g_crValue, HS_NONE, _T( "<%s* Size=%u>" ), m_pNodePtr->GetClass( )->GetName( ), GetMemorySize( ) );
48 tx = AddIcon( View, tx, y, ICON_CHANGE, HS_CLICK, HS_CHANGE_X );
49
50 tx += g_FontWidth;
51 tx = AddComment( View, tx, y );
52
53 y += g_FontHeight;
54 if (m_LevelsOpen[View->Level])
55 {
56 if (IsMemory( View->Address + m_Offset + (sizeof( ULONG_PTR ) * m_iCurrentIndex) ))
57 {
58 ClassSize = m_pNodePtr->GetClass( )->GetMemorySize( );
59 m_pNodePtr->Memory( )->SetSize( ClassSize );
60
61 VIEWINFO NewView;
62 memcpy( &NewView, View, sizeof( NewView ) );
63 NewView.Data = m_pNodePtr->Memory( )->Data( );
64 NewView.Address = *(ULONG_PTR*)(View->Data + m_Offset + (sizeof( ULONG_PTR ) * m_iCurrentIndex));
65
66 ReClassReadMemory( (LPVOID)NewView.Address, (LPVOID)NewView.Data, ClassSize );
67
68 ChildDrawSize = m_pNodePtr->GetClass( )->Draw( &NewView, x, y );
69

Callers

nothing calls this directly

Calls 7

IsMemoryFunction · 0.85
ReClassReadMemoryFunction · 0.85
MemoryMethod · 0.80
DataMethod · 0.80
GetClassMethod · 0.45
GetMemorySizeMethod · 0.45
SetSizeMethod · 0.45

Tested by

no test coverage detected