void unserialize(SerializeFormat format, Extensible* container, const std::string& value) { if (format == FORMAT_NETWORK) return; void* old = get_raw(container); if (old) this->free(old); callerid_data* dat = new callerid_data; set_raw(container, dat); irc::commasepstream s(value); std::string tok; if (s.GetToken(tok)) dat->lastnotify = ConvToInt(tok); while (s.GetToken(tok)) { User *u = ServerInstance->FindNick(tok); if ((u) && (u->registered == REG_ALL) && (!u->quitting)) { if (dat->accepting.insert(u).second) { callerid_data* other = this->get(u, true); other->wholistsme.push_back(dat); } } } }
callerid_data* get(User* user, bool create) { callerid_data* dat = static_cast<callerid_data*>(get_raw(user)); if (create && !dat) { dat = new callerid_data; set_raw(user, dat); } return dat; }
ExtData* get(Extensible* container, bool create = false) { ExtData* extdata = static_cast<ExtData*>(get_raw(container)); if ((!extdata) && (create)) { extdata = new ExtData; set_raw(container, extdata); } return extdata; }
// reads out, converted to real axis length. bool get (Fractal::Value& res) const { Fractal::Value t = 0; if (!get_raw(t)) throw BadValue("Sorry, could not parse zoom control value"); switch(mode) { case RE_AX: res = t; break; case IM_AX: res = im_to_re(t); break; case RE_PIX: res = pix_to_ax(t); break; case IM_PIX: res = pix_to_ax(im_to_re(t)); break; case ZOOM: res = zoom_to_ax(t); break; } // At this point res is the requested real axis length. Use the same limit (more or less) as MainWindow applies. if (std::isinf(res)) // zoom factor 0 throw BadValue("Sorry, that zoom is not valid"); Fractal::Value limit = 2.099 * _mw->get_rwidth() * Fractal::Maths::smallest_min_pixel_size(); if (res < limit) throw BadValue("Sorry, that zoom is too deep, pixels would be smaller than the resolution limit"); return true; }
bool get(const Extensible* container) const { return (get_raw(container) != NULL); }
int get_weight(void) { int raw; raw = get_raw(); return raw/1.4686; }
ssl_cert* get(const Extensible* item) const { return static_cast<ssl_cert*>(get_raw(item)); }
void GDMonoField::fetch_attributes() { ERR_FAIL_COND(attributes != NULL); attributes = mono_custom_attrs_from_field(owner->get_raw(), get_raw()); attrs_fetched = true; }
void do_toggle(Gtk::ToggleButton*b, mode_t newmode) { if (!b->get_active()) return; Fractal::Value t = 0; if (!get_raw(t)) { mode = newmode; return; // cannot parse, don't attempt to scale } switch(mode) { case RE_AX: switch(newmode) { case RE_AX: break; case IM_AX: shadow = re_to_im(t); break; case RE_PIX: shadow = ax_to_pix(t); break; case IM_PIX: shadow = re_to_im(ax_to_pix(t)); break; case ZOOM: shadow = ax_to_zoom(t); break; } break; case IM_AX: switch(newmode) { case RE_AX: shadow = im_to_re(t); break; case IM_AX: break; case RE_PIX: shadow = im_to_re(ax_to_pix(t)); break; case IM_PIX: shadow = ax_to_pix(t); break; case ZOOM: shadow = ax_to_zoom(im_to_re(t)); break; } break; case RE_PIX: switch(newmode) { case RE_AX: shadow = pix_to_ax(t); break; case IM_AX: shadow = re_to_im(pix_to_ax(t)); break; case RE_PIX: break; case IM_PIX: shadow = re_to_im(t); break; case ZOOM: shadow = ax_to_zoom(pix_to_ax(t)); break; } break; case IM_PIX: switch(newmode) { case RE_AX: shadow = im_to_re(pix_to_ax(t)); break; case IM_AX: shadow = pix_to_ax(t); break; case RE_PIX: shadow = im_to_re(t); break; case IM_PIX: break; case ZOOM: shadow = ax_to_zoom(pix_to_ax(im_to_re(t))); break; } break; case ZOOM: switch(newmode) { case RE_AX: shadow = zoom_to_ax(t); break; case IM_AX: shadow = re_to_im(zoom_to_ax(t)); break; case RE_PIX: shadow = ax_to_pix(zoom_to_ax(t)); break; case IM_PIX: shadow = re_to_im(ax_to_pix(zoom_to_ax(t))); break; case ZOOM: break; } break; } set(shadow); mode = newmode; }
void fog_of_war::set_value(int x, int y, int val) { int i = get_raw(x, y); i &= ~3; fog.set(x, y, i | val); }
char fog_of_war::get_value(int x, int y) const { return get_raw(x, y) & 3; }