version 1.1, 2000/11/22 06:20:13 |
version 1.5, 2002/10/02 09:33:32 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM$ |
* $OpenXM: OpenXM_contrib2/windows/engine2000/ox_plot_win.c,v 1.4 2002/07/30 03:48:34 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 62 static int remotes; |
|
Line 62 static int remotes; |
|
static int depth,scrn; |
static int depth,scrn; |
|
|
extern jmp_buf ox_env; |
extern jmp_buf ox_env; |
extern DWORD MainThread; |
|
|
|
|
|
static int busy; |
static int busy; |
|
|
HBRUSH ClearBrush,DrawBrush; |
HBRUSH ClearBrush,DrawBrush; |
|
|
#define LABELWIDTH 150 |
#define LABELWIDTH 150 |
|
|
void alloc_pixmap(),reset_busy(),set_busy(),create_brushes(), draw_frame0(), pline(); |
|
|
|
int search_canvas() |
int search_canvas() |
{ |
{ |
int i; |
int i; |
Line 94 int search_active_canvas() |
|
Line 90 int search_active_canvas() |
|
return -1; |
return -1; |
} |
} |
|
|
void create_canvas(can) |
volatile DWORD MainThread; |
struct canvas *can; |
volatile int canvas_created; |
|
|
|
void create_canvas(struct canvas *can) |
{ |
{ |
alloc_pixmap(can); |
alloc_pixmap(can); |
can->real_can = can; |
can->real_can = can; |
|
while ( !MainThread ); |
|
canvas_created = 0; |
PostThreadMessage(MainThread,WM_APP,can->index,0); |
PostThreadMessage(MainThread,WM_APP,can->index,0); |
|
while ( !canvas_created ); |
} |
} |
|
|
void destroy_canvas(can) |
void destroy_canvas(struct canvas *can) |
struct canvas *can; |
|
{ |
{ |
if ( can == current_can ) { |
if ( can == current_can ) { |
reset_busy(can); current_can = 0; |
reset_busy(can); current_can = 0; |
} |
} |
|
can->window = 0; |
|
DeleteObject(can->pix); |
|
closed_canvas[can->index] = can; |
canvas[can->index] = 0; |
canvas[can->index] = 0; |
} |
} |
|
|
void clear_pixmap(can) |
void clear_pixmap(struct canvas *can) |
struct canvas *can; |
|
{ |
{ |
RECT rect; |
RECT rect; |
|
|
Line 122 struct canvas *can; |
|
Line 124 struct canvas *can; |
|
FillRect(can->pix,&rect,ClearBrush); |
FillRect(can->pix,&rect,ClearBrush); |
} |
} |
|
|
void alloc_pixmap(can) |
void alloc_pixmap(struct canvas *can) |
struct canvas *can; |
|
{ |
{ |
HDC pix; |
HDC pix; |
HBITMAP bm; |
HBITMAP bm; |
Line 145 struct canvas *can; |
|
Line 146 struct canvas *can; |
|
current_can = can; |
current_can = can; |
} |
} |
|
|
void copy_to_canvas(can) |
void copy_to_canvas(struct canvas *can) |
struct canvas *can; |
|
{ |
{ |
PostThreadMessage(MainThread,WM_APP,can->index,0); |
PostThreadMessage(MainThread,WM_APP,can->index,0); |
} |
} |
|
|
void copy_subimage(subcan,can,pos) |
void popup_canvas(int index) |
struct canvas *subcan,*can; |
|
POINT pos; |
|
{ |
{ |
|
create_canvas(canvas[index]); |
|
} |
|
|
|
void copy_subimage(struct canvas *subcan,struct canvas *can,POINT pos) |
|
{ |
BitBlt(can->pix,pos.x,pos.y,subcan->width,subcan->height,subcan->pix,0,0,SRCCOPY); |
BitBlt(can->pix,pos.x,pos.y,subcan->width,subcan->height,subcan->pix,0,0,SRCCOPY); |
} |
} |
|
|
void draw_wideframe(can,d) |
void draw_wideframe(struct canvas *can,DRAWABLE d) |
struct canvas *can; |
|
DRAWABLE d; |
|
{ |
{ |
struct canvas fakecan; |
struct canvas fakecan; |
double xmid,ymid,dx,dy; |
double xmid,ymid,dx,dy; |
Line 192 void create_brushes() |
|
Line 193 void create_brushes() |
|
DrawBrush = CreateSolidBrush(0); |
DrawBrush = CreateSolidBrush(0); |
} |
} |
|
|
void draw_frame0(d,spos,epos) |
void draw_frame0(DRAWABLE d,POINT spos,POINT epos) |
DRAWABLE d; |
|
POINT spos,epos; |
|
{ |
{ |
RECT rect; |
RECT rect; |
int ulx,uly,w,h; |
int ulx,uly,w,h; |