source: tags/ms_r16q2/WINDOW/AW_window_Xm_interface.cxx

Last change on this file was 7666, checked in by westram, 13 years ago
  • merge from dev [7539] [7541] [7543] [7544] [7548] [7549] [7550] [7552] [7553] [7554] [7555] [7556] [7557] [7558] [7559] [7561] [7562] [7563] [7564] [7565] [7566] [7567] [7568] [7569] [7570] [7571] [7572] [7574] [7575]
    • behavioral changes
      • when jumping to gene the text will also move into viewport
      • this slightly changed the zoom used in IRS tree
      • dont try to draw clipped bracket
      • arcs were not drawn if NW-quadrant was not fully visible
      • fixed '~'-bond (SECEDIT): use constants; fixed a small gap sometimes visible; reduced OUTSIDE overhang of arcs by 15 degrees
      • reset disp_device after show()
    • use new type AW_rgb for colors
    • removed old-style enum typedefs
    • refactored
      • AW_GC
      • DRYed AWT_graphic_tree::show() vs fake_AWT_graphic_tree::test_show_tree()
      • AW_clipable
      • moved font_overlap values into AW_font_overlap
      • AW_device
        • removed transform/rtransform flavors using ints (replaced usages by Position/Rectangle? transformations)
        • added get_rtransformed_cliprect
        • pass radius as Vector (circle/arc)
        • fixed degrees chaos in arc params: arc_degrees now also is clockwise (like start_degrees) - both are clockwise cause ARBs y-coordinate grows downwards
        • invisible_impl uses Position as param
        • fixed return type of draw functions
        • fixed a bug in pop_clip_scale
          • push+pop did not restore scale and offset properly (only if zoom was not 1.0)
          • reset AW_zoomable before restoring and restore offset before scale
        • AW_device_Xm
          • refactored arc_impl
        • AW_device_print
          • refactored circle_impl
            • added assertion against drawing zero-sized circles
            • test for positive radius before drawing bootstrap circles (e.g. if branchlength is zero)
            • "fix" clipping of circles on AW_device_print (only affects printing when "screen only" is selected)
              • if more than half of circle gets clipped → skip circle
              • otherwise force circle into clipped bounding rectangle (i.e. print a smaller circle, that fits on the screen)
          • basic implementation of AW_device_print::arc_impl
            • arcs based on circles are drawn using xfigs ARC command
            • arcs based on ellipses are interpolated using splines
            • clipping does some as with circles (clip bounding-box and draw arc inside; if less than half of arc is inside clipping area, skip arc completely)
          • separated fprintf into single lines for better documentation of single xfig parameters
      • AW_area_management (made member variables private + split up with useless friends)
File size: 1.1 KB
Line 
1// ============================================================= //
2//                                                               //
3//   File      : AW_window_Xm_interface.cxx                      //
4//   Purpose   : Provide some X11 interna for applications       //
5//                                                               //
6//   Coded by Ralf Westram (coder@reallysoft.de) in April 2009   //
7//   Institute of Microbiology (Technical University Munich)     //
8//   http://www.arb-home.de/                                     //
9//                                                               //
10// ============================================================= //
11
12#include "aw_window_Xm_interface.hxx"
13#include <aw_window.hxx>
14#include <aw_window_Xm.hxx>
15#include "aw_common_xm.hxx"
16#include <aw_root.hxx>
17
18XtAppContext AW_get_XtAppContext(AW_root *aw_root) {
19    return aw_root->prvt->context;
20}
21
22Widget AW_get_AreaWidget(AW_window *aww, AW_area area) {
23    return aww->p_w->areas[area]->get_area();
24}
25
26GC AW_map_AreaGC(AW_window *aww, AW_area area, int gc) {
27    return aww->p_w->areas[area]->get_common()->get_GC(gc);
28}
29
Note: See TracBrowser for help on using the repository browser.