CTPHEJ2S7MMSZTNVO4LFEYHMMTKYWB5PC54RMVJHMATN5TY45GPQC LSPMIVEH5IYUPBMB7DL5VTM2HOMYDBA5ZY3GIW6ZFTCDGTUUDFFAC PTQ26KY65NDVZ35EG66SARWRGGYKDJ2BT3EVK4RJFS2J5AQUX6OQC B66IOHMWFZINTWC57Q5OD4YPBVQNBN3YUM3ZKX4MTDKHYGH5JHFAC X6QJYZJZSS7YSRCDOPQ2I2Y7U7VJA4HE5P74ZYENROR7FRUPPXWQC CVXA6LIYFYIZEVPTI335A332EXRVJXF2SC4B5F2NFYXZXYVDFBKQC 576YRB7XSKS6Q265TEJQS7HUGMKSGHGDRGVP6WBZS7XMK6RVJRNQC VL4FY4YJUFRVCZR67KOTB22RILTEP2KX2GLHP4J662XF7VGS77WAC HKVKPIIWK6AB4DWCS6SB47RYEXTD4QAQIGDFNQGA3TDJEIAXBZKQC AFZQUL4VKEEDRSA5CV6YXN7PMX6PQ2PMLECTG53S4HZKTNCAIMXQC L5ZNI6R53WDZIOXNECV262TURPIPWL522TVF25U5RYHOTSY7BHZAC println!("{:?}---", content);
match content.inner {json_ui::Request::Draw(lines, default_face, padding_face) => {event_loop_proxy.send_event(AppMessage::Draw(lines, default_face, padding_face)).unwrap();}json_ui::Request::DrawStatus(_atoms, _atoms1, _face) => {}json_ui::Request::MenuShow(_items, _coord, _face, _face1, _menu_show_style) => {}json_ui::Request::MenuSelect(_) => {}json_ui::Request::MenuHide() => {}json_ui::Request::InfoShow(_, _, _coord, _face, _info_show_style) => {}json_ui::Request::InfoHide(_) => {}json_ui::Request::SetCursor(_set_cursor_mode, _coord) => {}json_ui::Request::SetUiOptions(_) => {}json_ui::Request::Refresh(_) => {}};
fn redraw(rs: &mut RenderState, fs: &mut FontState) {let mut ubuf = UnicodeBuffer::new();// ubuf.push_str("പിന്നോട്ടു മാത്രം മടങ്ങുന്ന കാലുകൊണ്ടല്ലയോ മുന്നോട്ടു പായുന്നിതാളുകൾ ");ubuf.push_str("A test of will");let gbuf = fs.shape(0, ubuf);
fn redraw(rs: &mut RenderState, fs: &mut FontState, lines: &[json_ui::Line]) {let line_height = fs.fontdue_faces[0].vertical_line_metrics(32.0).map(|i| i.new_line_size).unwrap_or(40.0);
let mut y = 100;let upe = fs.rustybuzz_faces[0].units_per_em();
let mut y = line_height as i32;for line in lines {let mut ubuf = UnicodeBuffer::new();for atom in line {ubuf.push_str(&atom.contents);}let gbuf = fs.shape(0, ubuf);let upe = fs.rustybuzz_faces[0].units_per_em();
// >i vjfor (gpos, ginfo) in gbuf.glyph_positions().iter().zip(gbuf.glyph_infos()) {let (metrics, data) = fs.render_glyph(0, ginfo.glyph_id as u16);for i in 0..metrics.width {for j in 0..metrics.height {let x_offset = gpos.x_offset * 32 / upe;let y_offset = gpos.y_offset * 32 / upe;
// >i vjfor (gpos, ginfo) in gbuf.glyph_positions().iter().zip(gbuf.glyph_infos()) {let (metrics, data) = fs.render_glyph(0, ginfo.glyph_id as u16);for i in 0..metrics.width {for j in 0..metrics.height {let x_offset = gpos.x_offset * 32 / upe;let y_offset = gpos.y_offset * 32 / upe;
let py = y + j as i32 - y_offset - metrics.height as i32 - metrics.ymin;let px = x + i as i32 + x_offset + metrics.xmin;let pidx = (py * rs.pixmap.width() as i32 + px) as usize * 4;
let py = y + j as i32 - y_offset - metrics.height as i32 - metrics.ymin;let px = x + i as i32 + x_offset + metrics.xmin;let pidx = (py * rs.pixmap.width() as i32 + px) as usize * 4;
let data_mut = rs.pixmap.data_mut();for k in 0..3 {data_mut[pidx + k] = data_mut[pidx + k].max(data[didx + k]);
let data_mut = rs.pixmap.data_mut();for k in 0..3 {data_mut[pidx + k] = data_mut[pidx + k].max(data[didx + k]);}data_mut[pidx + 3] = 255;