Waitrud Weber’s blog

things and reminders for memories

3D: cDisplayControls:

cDisplayControls_wmpaint_display_threeD_proc: we could memorize and copy controls. And then, we consider, reuse old lootins.

// Qualified: 20190711
//
//
//
//
//
int cDisplayControls_wmpaint_display_threeD_proc ( HWND hWnd, HDC hDC, PAINTSTRUCT* ps, UINT uMsg, WPARAM wParam, LPARAM lParam ) {
	static vLine** l_lines = nullptr;
	static int line_num = 0;

	if ( memorized_CurveLines == 0 ) return -1;
	// if ( l_lines != nullptr ) return 2;

	printf("Allocation of local lines: %d %d\r\n", line_num, CurveLines->numPS );
	// Allocation: 20190708
	if ( line_num == 0 ) {

		l_lines = (vLine**) malloc( sizeof(vLine*) * ( CurveLines->numPS + 1 )  );
		for( int i=0; inumPS; i++ ) {
			// x vLine* allocation_line = (vLine*) malloc ( sizeof(vLine) * 1 );
			// x vLine* allocation_line = new vLine();
			l_lines[i] = (vLine*) new vLine();
		}
		line_num = CurveLines->numPS;

		printf( "Allocated: 0 \r\n" );
	} else if (  line_num <= CurveLines->numPS ) {

		l_lines = (vLine**) realloc( l_lines, sizeof(vLine*) * CurveLines->numPS );
		for( int i=line_num; inumPS; i++ ) {
			l_lines[i] = new vLine();
		}
		line_num = CurveLines->numPS;
	}

	printf("local lines:\r\n");
	for( int i=0; i<line_num; i++ ) {
		printf("i: %d ", i );
		l_lines[i]->setLine( (vPoint*) CurveLines->aPS[i]->C1, (vPoint*) CurveLines->aPS[i]->C2 );
		l_lines[i]->print();
		// l_lines[i]->p1->print();
		// l_lines[i]->p2->print();
	}

	printf("cDisplayControls_wmpaint_display_threeD_proc ends.\r\n");
}