int dynamicFilter(int c, int r);
-int WireDrawBeegMapRect(SimView *view, short x, short y, short w, short h);
+void
drawBeegMaps()
{
sim_update_editors();
}
+void
MemDrawBeegMapRect(SimView *view, int x, int y, int w, int h)
{
int lineBytes = view->line_bytes;
#define ROW8_16(n) ROW4_16(n) ROW4_16(n+4)
#define ROW16_16() ROW8_16(0) ROW8_16(8)
+#define ROW1_32(n) \
+ memcpy((char *)image, (char *)mem + (4 * 16 * (n)), 4 * 16); \
+ image = (unsigned QUAD *)(((unsigned char *)image) + lineBytes);
+
+#define ROW2_32(n) ROW1_32(n) ROW1_32(n+1)
+#define ROW4_32(n) ROW2_32(n) ROW2_32(n+2)
+#define ROW8_32(n) ROW4_32(n) ROW4_32(n+4)
+#define ROW16_32() ROW8_32(0) ROW8_32(8)
+
switch (view->x->depth) {
case 8:
case 24:
case 32:
+ ROW16_32();
+ break;
+
default:
/* XXX: handle different depths */
break;
}
+void
WireDrawBeegMapRect(SimView *view, short x, short y, short w, short h)
{
unsigned short *map;