Пример #1
0
 static StringAttribute[] attributesSub(CStringLayer src, int start, int end) {
   int dst_len = end - start;
   ArrayList<StringAttribute> attributes = new ArrayList<StringAttribute>();
   if (src.Attributes != null) {
     for (StringAttribute attr : src.Attributes) {
       attr = new StringAttribute(attr);
       if (CMath.intersectRect(start, 1, end, 1, attr.Start, 1, attr.End, 1)) {
         attributes.add(attr);
         attr.Start -= start;
         attr.End -= start;
         attr.Start = Math.max(attr.Start, 0);
         attr.End = Math.min(attr.End, dst_len);
       }
     }
   }
   return attributes.toArray(new StringAttribute[attributes.size()]);
 }
Пример #2
0
 static StringAttribute[] attributesLink(CStringLayer s1, CStringLayer s2) {
   ArrayList<StringAttribute> attributes = new ArrayList<StringAttribute>();
   if (s1.Attributes != null) {
     for (StringAttribute attr : s1.Attributes) {
       attr = new StringAttribute(attr);
       attributes.add(attr);
     }
   }
   if (s2.Attributes != null) {
     for (StringAttribute attr : s2.Attributes) {
       attr = new StringAttribute(attr);
       attributes.add(attr);
       attr.Start += s1.Src.length();
       attr.End += s1.Src.length();
     }
   }
   return attributes.toArray(new StringAttribute[attributes.size()]);
 }
Пример #3
0
 public StringLayer createStringLayer(String src) {
   StringAttribute attr =
       StringAttribute.createColorAttribute(0, src.length(), m_graphics2d.getColor().getRGB());
   CStringLayer layer = new CStringLayer(src, new StringAttribute[] {attr});
   return layer;
 }
Пример #4
0
 public long evaluate(final ContextTreeNode node) {
   return argument.evaluate(node).length();
 }
Пример #5
0
 public String getDescription() {
   return "StringLength(" + argument.getDescription() + ")";
 }
Пример #6
0
 public String getName() {
   return "StringLength(" + argument.getName() + ")";
 }