view release on metacpan or search on metacpan
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
# _on_remove_tag - to facilitate undo and redo, record tags removals.
# NOTE: the signal handler recieves a start and end range exactly matching
# what was used in the $buf->remove_tag(...) call, which may be wrong
# if the range includes bits where the tag wasn't applied in the first
# place. All tag removals in code should therefore be done with the
# _remove_tag or _remove_tag_cascade functions within this package
##########
sub _on_remove_tag {
my $self = shift;
my ($buf, $tag, $s, $e) = @_;
$self->_record_undo(UNDO_REMOVE_TAG, $s->get_offset, $e->get_offset, $tag)
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
$buf->get_tag_table->
foreach(sub {
my ($tag) = @_;
return if not $self->_is_my_tag($tag);
if (exists $self->{Active}{$tag->get_property('name')}) {
$self->_apply_tag_cascade($tag, $start, $iter);
} else {
$self->_remove_tag_cascade($tag, $start, $iter);
}
});
# What if this insert just bridged two paragraphs?!
$self->_normalise_paragraph($start, $iter);
$self->_set_active_from_text;
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
my ($s, $e) = $self->_get_current_bounds_for_tag($tname);
if ($self->{Buttons}{$name}->get_active) {
# Switching on
my $tag = $self->_create_tag($self->_full_tag_name($tname),
%{$TAGS{$tname}{Look}});
$self->_apply_tag_cascade($tag, $s, $e);
$self->_normalise_paragraph($s, $e)
if ($tname eq 'asis' or $tname eq 'pre') and not $s->equal($e);
$self->_set_active_from_text if not $s->equal($e);
$self->{Active}{$tag->get_property('name')} = undef;
$self->_set_buttons_from_active;
} else {
# Switching off
my $tag = $self->_full_tag_name($tname);
$self->_remove_tag_cascade($tag, $s, $e);
$self->_set_active_from_text if not $s->equal($e);
delete($self->{Active}{$tag});
$self->_set_buttons_from_active;
}
$self->_commit_record_undo if $commit;
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
for my $tag (@{$BUTTONS{$bname}{Tags}}) {
next if not exists $TAGS{$tag->[0]};
($s, $e) = $self->_get_current_bounds_for_tag($tag->[0])
if not defined $s;
last if $s->equal($e);
$self->_remove_tag_cascade($self->_full_tag_name($tag->[0]), $s, $e);
}
my $ftname = $self->_full_tag_name($tname);
my $tag = $self->_create_tag($ftname, %{$TAGS{$tname}{Look}})
if $display ne $BUTTONS{$bname}{Default};
if ($s->equal($e)) {
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
delete($self->{Active}{$self->_full_tag_name($tag->[0])});
}
$self->{Active}{$ftname} = undef;
$self->_set_buttons_from_active;
} else {
$self->_apply_tag_cascade($tag, $s, $e)
if $display ne $BUTTONS{$bname}{Default};
# Update subscript and superscript over this range!
# Maybe meld this into apply_tag_cascade?
if ($tname =~ /^h[1-5]\z/) {
$self->_update_superscript($s, $e, undef, $TAGS{$tname}{Look}{scale});
$self->_update_subscript($s, $e, undef, $TAGS{$tname}{Look}{scale});
} elsif ($tname eq 'h0') {
$self->_update_superscript($s, $e, undef, 1);
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
if ($s->equal($e)) {
for my $tag (@{$BUTTONS{$bname}{Tags}}) {
delete($self->{Active}{$self->_full_tag_name('font', $tag)});
}
} elsif ($display ne $BUTTONS{$bname}{Default}) {
$self->_apply_tag_cascade($tag, $s, $e);
}
$self->{Active}{$ftname} = undef;
$self->_set_buttons_from_active;
$self->_commit_record_undo if $commit;
return 0;
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
if (not $nosel) {
$buf->get_tag_table->
foreach(sub {
my ($tag) = @_;
return if not $self->_is_my_tag($tag);
$self->_remove_tag_cascade($tag, $s, $e)
if $self->_short_tag_name($tag) eq $tname;
});
# Update super/subscript tags for this range!
$self->_update_subscript($s, $e, $size);
$self->_update_superscript($s, $e, $size);
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
delete($self->{Active}{$k})
if $self->_short_tag_name($k) eq $BUTTONS{$name}{Tag};
}
$self->{Active}{$tag->get_property('name')} = undef;
} else {
$self->_apply_tag_cascade($tag, $s, $e);
$self->_set_active_from_text;
}
$self->_set_buttons_from_active;
$self->_commit_record_undo if $commit;
return 0;
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
my ($sz, $sc);
for my $tag ($s->get_tags) {
next if not $self->_is_my_tag($tag);
my $name = $self->_short_tag_name($tag);
if ($name eq 'superscript' or $name eq 'subscript') {
$self->_remove_tag_cascade($tag, $s, $e);
next;
}
if (not defined $sz and $name eq 'size') {
($sz) = $self->_tag_args($tag, 1);
} elsif (not defined $sc and $name =~ /^h[1-5]\z/) {
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
$sz = $BUTTONS{Size}{Default} if not defined $sz;
$sc = 1 if not $sc;
my $n = $s->copy;
$n->forward_to_tag_toggle(undef);
$n = $e->copy if $n->compare($e) == 1;
$self->_apply_tag_cascade($self->_create_sub_super_tag($type, $sz, $sc),
$s, $n);
return $n;
}
sub _create_sub_super_tag {
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
$buf->get_tag_table->
foreach(sub {
my ($tag) = @_;
return if (not $self->_is_my_tag($tag) or
$self->_short_tag_name($tag) ne 'superscript');
$self->_remove_tag_cascade($tag, $s, $e);
});
$self->_set_active_from_text;
$self->_set_buttons_from_active;
}
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
$buf->get_tag_table->
foreach(sub {
my ($tag) = @_;
return if (not $self->_is_my_tag($tag) or
$self->_short_tag_name($tag) ne 'subscript');
$self->_remove_tag_cascade($tag, $s, $e);
});
$self->_set_active_from_text;
$self->_set_buttons_from_active;
}
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
my $s = $here->get_offset;
$buf->insert($here, $txt);
$s = $buf->get_iter_at_offset($s);
$e = $s->copy;
$e->forward_chars(length($txt));
$self->_apply_tag_cascade($tag, $s, $e);
} else {
my $off = $s->get_offset;
$buf->delete($s, $e); ## GET TAGS OVER THIS RANGE
$s = $buf->get_iter_at_offset($off);
$buf->insert($s, $txt); ## APPLY TAGS OVER THIS RANGE
$s = $buf->get_iter_at_offset($off);
$e = $s->copy;
$e->forward_chars(length($txt));
$self->_apply_tag_cascade($tag, $s, $e);
$buf->select_range($s, $e);
}
}
sub _create_link {
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
my $self = shift;
my ($s, $e) = @_;
my $buf = $self->{Text}->get_buffer;
$buf->get_tag_table->foreach(sub {
my ($tag) = @_;
$self->_remove_tag_cascade($tag, $s, $e)
if ($self->_is_my_tag($tag) and
$self->_short_tag_name($tag) eq 'link');
}) if not $s->equal($e);
}
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
return if not $self->_is_my_tag($tag);
my $name = $self->_short_tag_name($tag);
return
if (not exists $TAGS{$name} or
$TAGS{$name}{Class} eq 'paragraph');
$self->_remove_tag_cascade($tag, $s, $e);
});
$self->_set_active_from_text;
}
$self->_set_buttons_from_active;
}
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
if not defined $tag;
$tag->{WYSIWYG} = undef; # Use this later to store data?
return $tag;
}
sub _apply_tag_cascade {
my $self = shift;
my ($tag, $start, $end) = @_;
my $buf = $self->{Text}->get_buffer;
$tag = $self->{Text}->get_buffer->get_tag_table->lookup($tag)
if not ref($tag);
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
$tag = $self->{Text}->get_buffer->get_tag_table->lookup($tag)
if not ref $tag;
$self->{Text}->get_buffer->apply_tag($tag, $start, $end) if defined $tag;
}
sub _remove_tag_cascade {
my $self = shift;
my ($tag, $start, $end) = @_;
# ONLY REMOVE THE TAG FROM THE AREAS IT IS APPLIED!
my $buf = $self->{Text}->get_buffer;
$self->_remove_tag($tag, $start, $end);
lib/Gtk2/Ex/WYSIWYG.pm view on Meta::CPAN
$self->_remove_tag($tag, $ps, $pe)
if (exists $TAGS{$name} and
$TAGS{$name}{Class} eq 'paragraph');
});
for my $tag (@apply) {
$self->_apply_tag_cascade($tag, $ps, $pe);
}
}
# Bounds fetching
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HPC/Runner/Command/Plugin/Logger/Sqlite/Schema/Result/Job.pm view on Meta::CPAN
__PACKAGE__->has_many(
"tasks",
"HPC::Runner::Command::Plugin::Logger::Sqlite::Schema::Result::Task",
{ "foreign.job_fk" => "self.job_pi" },
{ cascade_copy => 0, cascade_delete => 0 },
);
# Created by DBIx::Class::Schema::Loader v0.07045 @ 2017-03-28 14:40:23
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:/WroaV1KhFwIpCDL7UwNmA
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HPCI/Env.pm view on Meta::CPAN
}
# always use the env (default to %ENV if nothing explicit)
use_env( $object->env );
HPCI uses multiple HPCI::Env objects that are cascaded. The Group's
env object (if any) is copied and modified for each Stage's own
env object.
=head1 ATTRIBUTES
lib/HPCI/Env.pm view on Meta::CPAN
builder => '_default_env_source',
);
sub _default_env_source {
my $self = shift;
return $self->_has_env_cascade ? $self->env_cascade->env_source : \%ENV;
}
=item * env_cascade Maybe[Object]
If this attribute is provided, then it will be used as an object
that does the Env role that provides the default env_source value.
The HPCI::Stage object specifies its Group object for this parameter
so that if any Group env parameters were set, they will get used
as a basis for the Stage.
=cut
has 'env_cascade' => (
is => 'ro',
isa => 'Maybe[Object]',
lazy => 1,
predicate => '_has_env_cascade',
default => undef,
);
=item * env_retain ArrayRef[Str]
lib/HPCI/Env.pm view on Meta::CPAN
if the values provided could end up "filtering" to a result that is
identical to the original %ENV.) (The "filtering" attributes are
env_source, env_retain, env_retain_pat, env_deletem env_delete_pat,
and env_set._
It is also true if there was an env_cascade object provided and it
had any filtering attributes initialized.
=cut
has 'has_any_env' => (
lib/HPCI/Env.pm view on Meta::CPAN
|| $self->_has_env_retain
|| $self->_has_env_retain_pat
|| $self->_has_env_remove
|| $self->_has_env_remove_pat
|| $self->_has_env_set
|| ($self->_has_env_cascade && $self->env_cascade->has_any_env);
}
=item * env HashRef[Str]
This is the hash resulting from the specified filtering and augmentation.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HTML/Chunks.pm view on Meta::CPAN
sub init
{
my $self = shift;
$self->{crush} = 1;
$self->{cascade} = 1;
$self->{dataStack} = [];
$self->{chunk} = {};
$self->{default} = undef;
$self->read(@_) if @_;
lib/HTML/Chunks.pm view on Meta::CPAN
sub getDataValue
{
my ($self, $name) = (shift, shift);
my $value;
my $last = $self->{cascade} ? 0 : $#{$self->{dataStack}};
for (my $ndx = $#{$self->{dataStack}}; $ndx >= $last; $ndx--) {
if (exists($self->{dataStack}[$ndx]{$name})) {
$value = $self->{dataStack}[$ndx]{$name};
last;
lib/HTML/Chunks.pm view on Meta::CPAN
}
sub setCascade
{
my $self = shift;
my $old = $self->{cascade};
($self->{cascade}) = (@_);
return $old;
}
sub setDefaultDataValue
{
lib/HTML/Chunks.pm view on Meta::CPAN
email generation, you should turn this off to have chunks output
exactly as they are defined.
=item my $oldValue = $engine->setCascade(0);
Sets whether or not the engine lets data cascade into nested
calls to I<output>. For instance, if you output a chunk from
within a data element handling routine, any data that was
defined for the parent chunk will also be available to the
chunk currently being output. If that doesn't make sense,
don't worry about it. It's rare that you'd want to turn this
view all matches for this distribution
view release on metacpan or search on metacpan
.test4 { color: red; }
.test4 { color: green; }
.c { color: green; }
#twelve { font-size: 5px }
</style>
<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#cascading-order" title="6.4.1 Cascading order">
<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#specificity" title="6.4.3 Calculating a selector's specificity">
</head>
<body>
<ul>
<li> <span class="a" id=one> This should be green. </span> </li>
<li> <span class="b" id=two> This should be green. </span>
my $green = qr/^(?:green|#0(?:0ff0|f)0|rgb\(0%?\s*,\s*(?:100%|255)\s*,\s*0%?\))\z/i;
like $view->getComputedStyle($doc->getElementById($_))->color,
$green,
"cascade test $_ from t060401-c32-cascading-00-b.htm"
for qw/ one two three four five six seven eight nine ten
eleven /;
is $view->getComputedStyle($doc->getElementById('twelve'))
->fontSize, '5px', 'author overrides user and ua';
is $view->getComputedStyle($doc->getElementById('thirteen'))
a { font-size: 1px !important }
span { font-size: 23px }
div { text-transform: none }
div:first-line { text-transform: uppercase }
</style>
<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#important-rules" title="6.4.2 !important rules">
<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#cascading-order" title="6.4.1 Cascading order">
</head>
<body>
<p> This line should be green. </p>
<p id="id1"> This line should be green. </p>
<p style="color: red;"> This line should be green. </p>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HTML/ElementGlob.pm view on Meta::CPAN
to those available in an HTML::Element(3). All other methods get
passed blindly to the globbed children, which can be enhanced elements
with arbitrary methods, such as HTML::ElementSuper(3).
Element globs can contain other element globs. In such cases, the
plain methods will cascade down to the leaf children. 'glob_*' methods,
of course, will not be propogated to children globs. You will
have to rely on glob_content() to access those glob children and
access their 'glob_*' methods directly.
=head1 REQUIRES
view all matches for this distribution
view release on metacpan or search on metacpan
t/lib/DBICTest/Schema/Artist.pm view on Meta::CPAN
__PACKAGE__->has_many( onekeys => 'DBICTest::Schema::OneKey' );
__PACKAGE__->has_many(
artist_undirected_maps => 'DBICTest::Schema::ArtistUndirectedMap',
[ {'foreign.id1' => 'self.artistid'}, {'foreign.id2' => 'self.artistid'} ],
{ cascade_copy => 0 } # this would *so* not make sense
);
sub sqlt_deploy_hook {
my ($self, $sqlt_table) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
t/lib/BookDB/Schema/Result/License.pm view on Meta::CPAN
);
__PACKAGE__->set_primary_key("license_id");
__PACKAGE__->has_many( 'user', 'BookDB::Schema::Result::User',
{ 'foreign.license_id' => 'self.license_id'},
{ cascade_delete => 0 } );
1;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HTML/ListToTree.pm view on Meta::CPAN
my @nextlevel = ();
my $entry = 0;
my $node;
#
# cascade the root document to all children that don't have a root
#
foreach my $i (0..$#$level) {
$node = $level->[$i];
die "UNEXPECTED ARRAY"
if (ref $node eq 'ARRAY');
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HTML/Query.pm view on Meta::CPAN
return wantarray ? @{$self->{elements}} : $self->{elements};
}
###########################################################################################################
# from CSS spec at http://www.w3.org/TR/CSS21/cascade.html#specificity
###########################################################################################################
# A selector's specificity is calculated as follows:
#
# * count the number of ID attributes in the selector (= a)
# * count the number of other attributes and pseudo-classes in the selector (= b)
lib/HTML/Query.pm view on Meta::CPAN
my @elements = $results->query($spec)->get_elements();
my $elements = $results->query($spec)->get_elements();
=head2 get_specificity()
Calculate the specificity for any given passed selector, a critical factor in determining how best to apply the cascade
A selector's specificity is calculated as follows:
* count the number of ID attributes in the selector (= a)
* count the number of other attributes and pseudo-classes in the selector (= b)
lib/HTML/Query.pm view on Meta::CPAN
The specificity is based only on the form of the selector. In particular, a selector of the form "[id=p33]" is counted
as an attribute selector (a=0, b=0, c=1, d=0), even if the id attribute is defined as an "ID" in the source document's DTD.
See the following spec for additional details:
L<http://www.w3.org/TR/CSS21/cascade.html#specificity>
=head2 size()
Returns the number of elements in the query.
view all matches for this distribution
view release on metacpan or search on metacpan
if ( (rc >= 0 ) && configfile && *configfile ) {
rc = tidyLoadConfig( tdoc, configfile );
}
/* XXX I think this cascade is a bug waiting to happen */
if ( rc >= 0 ) {
rc = ( tidyOptSetValue( tdoc, TidyCharEncoding, "utf8" ) ? rc : -1 );
}
view all matches for this distribution
view release on metacpan or search on metacpan
If you are a web developer such as me, you know that many times you
needed to use html controls that are not directly available in the HTML
language.
Every time you needed of use a datetime input control or to validate an
input field you needed to mix html, javascript and cascade style sheet
to make what you want. And, in every project you needed that, you needed
to find all the required code for you "advanced" control or you must
reinvent the wheel.
This module try to encapsulate these advanced widget so that you can
view all matches for this distribution
view release on metacpan or search on metacpan
if ( (rc >= 0 ) && configfile && *configfile ) {
rc = tidyLoadConfig( tdoc, configfile );
}
/* XXX I think this cascade is a bug waiting to happen */
if ( rc >= 0 ) {
rc = ( tidyOptSetValue( tdoc, TidyCharEncoding, "utf8" ) ? rc : -1 );
}
view all matches for this distribution
view release on metacpan or search on metacpan
if ( (rc >= 0 ) && configfile && *configfile ) {
rc = tidyLoadConfig( tdoc, configfile );
}
/* XXX I think this cascade is a bug waiting to happen */
if ( rc >= 0 ) {
rc = ( tidyOptSetValue( tdoc, TidyCharEncoding, "utf8" ) ? rc : -1 );
}
view all matches for this distribution
view release on metacpan or search on metacpan
tidy-html5.c view on Meta::CPAN
"accessibles, voir http://www.w3.org/WAI/GL et \n"
"http://www.html-tidy.org/Accessibility/"
},
{ TEXT_USING_LAYER, 0,
"Le mécanisme de positionnement au moyen des feuilles de style \n"
"en cascade (CSS) est préférable à l'élément propriétaire <LAYER>, \n"
"en raison du support limité des éditeurs pour LAYER.\n"
},
{ TEXT_USING_SPACER, 0,
"Il est recommandé d'utiliser les CSS pour contrôler les espacements \n"
"(par exemple pour le retrait, les marges et les interlignes).\n"
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Handel/Storage/RDBO/Result.pm view on Meta::CPAN
use Handel::Exception;
use Rose::DB::Object::Helpers;
};
sub delete {
return shift->storage_result->delete(cascade => 1, @_);
};
sub discard_changes {
return shift->storage_result->load(@_);
};
view all matches for this distribution
view release on metacpan or search on metacpan
Word/noun.txt view on Meta::CPAN
cartwheel,cartwheels
carver,carvers
carving,carvings
cary,carys
caryatid,caryatids
cascade,cascades
case,cases
caseload,caseloads
casement,casements
cash,cashes
cashew,cashews
view all matches for this distribution
view release on metacpan or search on metacpan
lib/HiPi/Constant.pm view on Meta::CPAN
# Mifare_One tag command word
MIFARE_REQIDL => 0x26, # find the antenna area does not enter hibernation
MIFARE_REQALL => 0x52, # find all the tags antenna area
MIFARE_ANTICOLL => 0x88, # anti-collision
MIFARE_CASCADE => 0x88, # cascade tag
MIFARE_SELECTTAG => 0x93, # selection tag
MIFARE_SELECT_CL1 => 0x93,
MIFARE_SELECT_CL2 => 0x95,
MIFARE_SELECT_CL3 => 0x97,
MIFARE_AUTHENT1A => 0x60, # authentication key A
view all matches for this distribution
view release on metacpan or search on metacpan
share/root/static/yui/build/stylesheet/stylesheet-debug.js view on Meta::CPAN
return this;
},
/**
* <p>Unset style properties for a provided selector string, removing
* their effect from the style cascade.</p>
*
* <p>If the selector includes commas, it will be split into individual
* selectors and applied accordingly. If there are no properties
* remaining in the rule after unsetting, the rule is removed.</p>
*
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Hypersonic.pm view on Meta::CPAN
# <cache_dir>/lib/auto/<safe_name>/<safe_name>.<dlext>
# (see XS-JIT/lib/XS/JIT/xs_jit.c xs_jit_cache_path()), a different
# $name on every run forced a full gcc/cc re-invocation EVERY time
# the test suite or a user re-ran their server. On slow CPAN smoker
# boxes that gcc invocation takes 30-60+ seconds per server, which
# is what caused the SIGKILL cascade in CPAN tester reports for
# 0.17 (t/0035-e2e-streaming.t, t/2012..t/2017, t/2102).
#
# Using a content hash means: identical route+option configurations
# produce the same module name -> warm cache hit -> dlopen() of a
# 100ms .so instead of a 30s gcc rebuild. The random fallback id is
view all matches for this distribution
view release on metacpan or search on metacpan
lib/IO/Lambda.pm view on Meta::CPAN
}
# propagate event destruction on all levels
sub destroy
{
shift-> cancel_all_events( cascade => 1);
}
# synchronisation
# drives objects dependant on the other objects until all of them
view all matches for this distribution
view release on metacpan or search on metacpan
t/20-detect-event-eof.t view on Meta::CPAN
# repeat the test for TCP sockets
($s1, $s2)= tcp_socketpair;
is( collect_alarms($s1,$s2), ['ontime'], 'TCP alarms' );
# Set up a cascade of shutdowns
{
my @got_alarm;
local $SIG{ALRM}= sub { note "Got alarm early"; push @got_alarm, 'early' };
($s1, $s2)= tcp_socketpair;
t/20-detect-event-eof.t view on Meta::CPAN
# shutdown the final socket, triggering a chain reaction of shutdowns, and finally the signal
shutdown($seq[-3], SHUT_WR);
sleep 10; # sleep will get interrupted
ok( $seq[-1]->triggered, 'triggered' );
ok( $seq[-1]->finished, 'finished' );
is( \@got_alarm, ['ontime'], 'cascade ending with alarm' );
}
my $tcp_listen;
sub tcp_socketpair {
unless ($tcp_listen) {
view all matches for this distribution
view release on metacpan or search on metacpan
AI_DOCS/2026-05-13-fs-peer-cleanup-on-sigkill.md view on Meta::CPAN
## Symptom
A client that registered through any `Base::FS` driver (`ConnectionUnix`,
`AtomicPipe`, `MessageFiles`) and then died ungracefully (SIGKILL,
segfault, OOM, parent-exit cascade â anything that bypasses Perl's
`DESTROY`) leaves its on-disk artifacts behind:
- `$ROUTE/{on_disk_name}` â socket file (ConnectionUnix) or directory
(AtomicPipe) for the peer
- `$ROUTE/{on_disk_name}.pid` â pidfile carrying the dead pid
view all matches for this distribution
view release on metacpan or search on metacpan
t/IPCShareableTest.pm view on Meta::CPAN
# SysV semaphore sets. Every tie consumes one set, so a file whose peak
# concurrent tie count cannot be satisfied dies mid-run with "Could not create
# semaphore set: No space left on device" (ENOSPC) -- the mass CPAN tester
# FAIL mode on OpenBSD smokers (semmni=10) pre-wedged by stale sets from
# previously crashed runs. Skipping is the honest grade there: the environment
# cannot run the file, and a FAIL cascade (croaking mid-test and leaking yet
# more IPC resources on the way down) helps nobody. No-op when the limit
# cannot be determined. Call it before the first tie, after testing_set().
sub require_free_sem_sets {
my ($needed) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
examples/1-apps/app-mdi.pl view on Meta::CPAN
my $self = shift;
$self->GetDialog->MDIARRANGE("TILEVERTICAL");
return IUP_DEFAULT;
}
sub mdi_cascade {
my $self = shift;
$self->GetDialog->MDIARRANGE("CASCADE");
return IUP_DEFAULT;
}
examples/1-apps/app-mdi.pl view on Meta::CPAN
),
IUP::Submenu->new( TITLE=>"Window", , child=>
IUP::Menu->new( name=>"winmenu", child=>[
IUP::Item->new( TITLE=>"Tile Horizontal", ACTION=>\&mdi_tilehoriz ),
IUP::Item->new( TITLE=>"Tile Vertical", ACTION=>\&mdi_tilevert ),
IUP::Item->new( TITLE=>"Cascade", ACTION=>\&mdi_cascade ),
IUP::Item->new( TITLE=>"Icon Arrange", ACTION=>\&mdi_icon ),
IUP::Item->new( TITLE=>"Close All", ACTION=>\&mdi_closeall ),
IUP::Separator->new(),
IUP::Item->new( TITLE=>"Next", ACTION=>\&mdi_next ),
IUP::Item->new( TITLE=>"Previous", ACTION=>\&mdi_previous ),
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Icon/FamFamFam/Silk.pm view on Meta::CPAN
accept=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKfSURBVDjLpZPrS1NhHMf9O3bOdmwDCWREIYKEUHsVJBI7mg3FvCxL09290jZj2EyLMnJexkgpLbPUanNOberU5taUMnHZUULMvelCtWF0sW/n7MVMEiN64AsPD...
add=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJvSURBVDjLpZPrS5NhGIf9W7YvBYOkhlkoqCklWChv2WyKik7blnNris72bi6dus0DLZ0TDxW1odtopDs4D8MDZuLU0kXq61CijSIIasOvv94VTUfLiB74fXngup7n...
anchor=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGdSURBVDjLpVMxa8JAFL6rAQUHXQoZpLU/oUOnDtKtW/MDBFHHThUKTgrqICgOEtd2EVxb2qFkKTgVChbSCnZTiVBEMBRLiEmafleCDaWxDX3w8e7dve+7l3cv1...
application=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFiSURBVBgZpcEhbpRRGIXh99x7IU0asGBJWEIdCLaAqcFiCArFCkjA0KRJF0EF26kkFbVVdEj6/985zJ0wBjfp8ygJD6G3n358fP3m5NvtJscJYBObchEH...
application_add=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH9SURBVDjLpZM9aFRREIW/ue9FF2IULDQuaYIGtTBRWGFJAgqSUsEmjZVgo4mFWBiwVVjBHwjGwsbCShExIAghoEUMARGNGFJYhIC7isXGRbORvJ0Z...
application_cascade=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGeSURBVDjLjZLdKwRRGIf3X1wXuNAikiKfWXaVLO1SIjYlG9LYaGKxNSXWx1rnwoUo+Zhdu2vkRsp32ePCvH5nYoaGNaeemjkz5/ee85zX5W6V...
application_delete=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH0SURBVBgZpcFPaM9xHMfx5/vz/Ywfv6ZwGC1mtRsXtRvFQSmlKK3JkRJymAul5EJcrFZrcnO0QpELDgrlKJcd5M9PtpHawew39v2+3y/7rlZuL...
application_double=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGnSURBVDjLnZOxilNBGIW/mXt3CZsYQQtjJYqPkE4L8Q20WARbmxWEFQvBXrByQdDKF3CL1QcQH8DOKmVIkWIFbdybTe7M/x+Lm+zeFELcAz/Dw...
application_edit=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJRSURBVBgZpcHda81xHMDx9+d3fudYzuYw2RaZ5yTWolEiuZpCSjGJFEktUUr8A6ZxQZGHmDtqdrGUXHgoeZqSp1F2bLFWjtkOB8PZzvmd7+djv5X...
application_error=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIiSURBVBgZpcE7SJZhFMDx/3neV/u8ZlhoVxAkESoyJYoa3BojDCFc25psaS8CWxoEhxAagiCpHCpqaa3AyiIISwjTtHIou3wX/b73nFOPIEG0SL...
application_form=>'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFlSURBVBgZpcGxTpNhGIbh+20+DUkTRhkcNLBIOmG6+Q+egg4cgWExhDi5sDm5SErCoB4BDB4KjnVTBpooCTKUOvx9n4d+ISQOQNL0usI2i4hX7w7...
view all matches for this distribution
view release on metacpan or search on metacpan
Inline_Stack_Vars;
Inline_Stack_Reset;
int i;
ccv_enable_default_cache();
ccv_dense_matrix_t* image = 0;
/* TODO: Make the cascade accessible from the outside */
ccv_bbf_classifier_cascade_t* cascade = ccv_bbf_read_classifier_cascade(training_data);
ccv_read(filename, &image, CCV_IO_GRAY | CCV_IO_ANY_FILE);
if (image != 0)
{
/* TODO: Make the BBF parameters accessible from the outside */
ccv_bbf_param_t params = { .interval = 5, .min_neighbors = 2, .accurate = 1, .flags = 0, .size = ccv_size(24, 24) };
ccv_array_t* seq = ccv_bbf_detect_objects(image, &cascade, 1, params);
for (i = 0; i < seq->rnum; i++)
{
ccv_comp_t* comp = (ccv_comp_t*)ccv_array_get(seq, i);
/* Create the new 5-item array */
AV* res = newAV();
Inline_Stack_Push(sv_2mortal(newRV_noinc((SV*) res)));
}
ccv_array_free(seq);
ccv_matrix_free(image);
}
ccv_bbf_classifier_cascade_free(cascade);
ccv_disable_cache();
Inline_Stack_Done;
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Image/Leptonica/Func/binreduce.pm view on Meta::CPAN
Input: pixs (1 bpp)
level1, ... level 4 (thresholds, in the set {0, 1, 2, 3, 4})
Return: pixd, or null on error
Notes:
(1) This performs up to four cascaded 2x rank reductions.
(2) Use level = 0 to truncate the cascade.
=head1 AUTHOR
Zakariyya Mughal <zmughal@cpan.org>
view all matches for this distribution
view release on metacpan or search on metacpan
eg/facedetect.pl view on Meta::CPAN
use Imager;
use Image::ObjectDetect;
Getopt::Long::Configure('bundling');
GetOptions(
'cascade=s' => \my $cascade,
'output=s' => \my $output,
'input=s' => \my $input,
'version|v' => \my $version,
'help|h' => \my $help,
);
if ($version) {
print "Image::ObjectDetect version $Image::ObjectDetect::VERSION\n";
exit;
}
pod2usage(0) if $help or !$cascade or !$output or !$input;
my $detector = Image::ObjectDetect->new($cascade);
my @faces = $detector->detect($input);
my $image = Imager->new->read(file => $input);
for my $face (@faces) {
$image->box(
xmin => $face->{x},
eg/facedetect.pl view on Meta::CPAN
=head1 SYNOPSIS
facedetect.pl [options]
Options:
-c -cascade cascade file
-o -output output filename
-i -input input filename
-v -version print version
-h -help print this help
view all matches for this distribution